![](/img/trans.png)
[英]Angular 2 Set APP_BASE_HREF with a value from a Promise / Observable
[英]Set value to APP_BASE_HREF on click event
目前我正在使用 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。 我怎样才能做到这一点?
为什么不直接在组件中注入TranslateService
令牌并按需设置新语言?
像这样的东西:
changeLang(lang: string) {
this.translateService.use(lang);
}
如果您想在运行时编辑您的令牌提供程序,您可以使用以下技巧 - 使用 DI 注入注入器,然后:
this.injector.create({providers: [...]})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.