猿问

在点击事件上将值设置为 APP_BASE_HREF

目前我正在使用 APP_BASE_HREF 将当前语言设置为我的应用程序的基本 href。


const appLanguageProvider: any[] = [

  {

    provide: APP_BASE_HREF,

    useFactory: appInitializerFactory,

    deps: [ TranslateService ]

  }

];


export const appInitializerFactory =  (

  translateService: TranslateService,

) => {

  return translateService.currentLang;

};

Base href 在应用程序初始化阶段正确设置,但我想在用户选择新语言时更改应用程序的 basehref。我怎样才能做到这一点?


富国沪深
浏览 137回答 2
2回答

繁花不似锦

为什么不TranslateService直接在组件中注入令牌并按需设置新语言?像这样的东西:changeLang(lang: string) {   this.translateService.use(lang);}

暮色呼如

如果您想在运行时编辑您的令牌提供程序,您可以使用以下技巧 - 使用 DI 注入注入器,然后:this.injector.create({providers: [...]})
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答