为了账号安全,请及时绑定邮箱和手机立即绑定

未使用平台浏览器动态提供程序

未使用平台浏览器动态提供程序

慕村9548890 2021-08-20 17:01:42
我正在尝试使用文档方法在我的 angular 应用程序引导之前设置我的 LOCALE_ID 令牌:import { LOCALE_ID } from '@angular/core';import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';import { AppModule } from './app/app.module';platformBrowserDynamic().bootstrapModule(AppModule, {  providers: [{provide: LOCALE_ID, useValue: 'fr-FR' }]});在我的 AppModule 的构造函数中检查令牌时,它似乎已重置为默认值export class AppModule {    constructor(@Inject(LOCALE_ID) private locale: string) {        console.log('Locale - App module', this.locale);    }}输出: Locale - App module en-US我在这里错过了什么?这是一个重现该问题的 Stackblitz:https ://stackblitz.com/edit/angular-2rdtb6
查看完整描述

2 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

您应该将提供者传递给平台注入器而不是编译器注入器:


platformBrowserDynamic([ {provide: LOCALE_ID, useValue: 'fr-FR' }])

                                          \/

                                    extraProviders

  .bootstrapModule(AppModule);  

请注意,要在 stackblitz 中对其进行测试,您必须重新加载应用程序,因为 Angular 仅创建一次平台。


查看完整回答
反对 回复 2021-08-20
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

您可以尝试在 app.module.ts 中设置提供程序


@NgModule({

  providers: [

    {

       // your objects here

    }

  ]

})


查看完整回答
反对 回复 2021-08-20
  • 2 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信