在 Beta 中我可以这样做:
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(??) }
]
,
最佳答案
您可以尝试以下方法:
export class AppBootstrapper {
constructor(mySettings: AppSettings) {
browserDynamicPlatform({ provide: AppSettings, useFactory: () => mySettings })
.bootstrapModule(AppModule);
}
}
或者只是在你的 app.module.ts
文件中添加一些方法 main
,它将返回你的 AppModule
并像这样调用这个方法
platform.bootstrapModule(main(settings));
另见:
关于angular - 如何使用运行时数据在 Angular 2 中注册提供者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39821314/