Angular 2 RC 5 全球供应商
Angular 2 RC 5 global provider
我怎样才能拥有一个只初始化一次的全局提供程序。
所以我有以下供应商
@Injectable()
export class ApiRequest {
http: Http;
constructor(@Inject(Http) http) {
console.log('Test');
}
}
然后是共享模块
@NgModule({
imports: [BrowserModule,
HttpModule],
declarations: [ControlMessage, InfiniteScroll],
entryComponents: [ControlMessage],
providers: [ApiRequest],
exports: [ControlMessage, InfiniteScroll],
})
导出class共享模块{
static forRoot(): ModuleWithProviders {
return {
ngModule: SharedModule,
providers: [ApiRequest]
};
}
代码有效,这里的问题是每次我更改路由时都会初始化 ApiRequest 构造函数,因此每个页面都会更改。我怎样才能使 ApiRequest 提供程序在整个应用程序中只初始化一次?
所以这里的问题是我在子模块中声明提供者。即使艰难,我也只在子模块中使用提供程序,它仍在每次注入时初始化。所以我不得不在主模块中声明它并且它按预期工作。
我怎样才能拥有一个只初始化一次的全局提供程序。 所以我有以下供应商
@Injectable()
export class ApiRequest {
http: Http;
constructor(@Inject(Http) http) {
console.log('Test');
}
}
然后是共享模块
@NgModule({
imports: [BrowserModule,
HttpModule],
declarations: [ControlMessage, InfiniteScroll],
entryComponents: [ControlMessage],
providers: [ApiRequest],
exports: [ControlMessage, InfiniteScroll],
})
导出class共享模块{
static forRoot(): ModuleWithProviders {
return {
ngModule: SharedModule,
providers: [ApiRequest]
};
}
代码有效,这里的问题是每次我更改路由时都会初始化 ApiRequest 构造函数,因此每个页面都会更改。我怎样才能使 ApiRequest 提供程序在整个应用程序中只初始化一次?
所以这里的问题是我在子模块中声明提供者。即使艰难,我也只在子模块中使用提供程序,它仍在每次注入时初始化。所以我不得不在主模块中声明它并且它按预期工作。