如何在Angular 2中注册运行时数据?

时间:2016-10-02 20:22:03

标签: angular

在测试版中,我可以这样做:

export class AppBootstrapper {
  constructor(mySettings: AppSettings) {
    bootstrap(App, 
      [
        provide(AppSettings, {
          useFactory: () => mySettings
        })
      ]
    }
  }
}

因此'mySettings'是来自服务器的运行时数据。

我如何在最新的RC中做到这一点?

export class AppBootstrapper {
  constructor(mySettings: AppSettings) {
    platform.bootstrapModule(AppModule);
  }
}

我可以将它放入Bootstrap,但不能进入app.module.ts

providers: [
  { provide: AppSettings, useFactory: => new AppSettings(??) }
]

1 个答案:

答案 0 :(得分:4)

您可以尝试以下操作:

export class AppBootstrapper {
  constructor(mySettings: AppSettings) {
    browserDynamicPlatform({ provide: AppSettings, useFactory: () => mySettings })
       .bootstrapModule(AppModule);
  }
}

或者只是在main文件中添加一些方法app.module.ts,该方法会返回AppModule并将此方法称为

platform.bootstrapModule(main(settings));

另见: