如何在Angular2 2.0.0 RC.5中设置全局提供程序?
发布时间:2020-12-17 17:01:49 所属栏目:安全 来源:网络整理
导读:在使用NgModule的新功能时,如何设置全局提供程序?在过去,我可以这样做: bootstrap(AppComponent,[ GlobalServiceAAA,GLOBAL_PROVIDERS_BBB]); 使用NgModule我们以他的方式引导应用程序: platformBrowserDynamic().bootstrapModule(AppModule); 在这种情况
在使用NgModule的新功能时,如何设置全局提供程序?在过去,我可以这样做:
bootstrap(AppComponent,[ GlobalServiceAAA,GLOBAL_PROVIDERS_BBB ]); 使用NgModule我们以他的方式引导应用程序: platformBrowserDynamic().bootstrapModule(AppModule); 在这种情况下,我放置我的全局服务和提供者(假设我不想在每个组件中提供它们)? 解决方法
有两种方法可以做到这一点.
注意:共享功能模块可能包含您的公共服务. 1.没有shared feature module @NgModule({ (...) providers: [ // <------- GlobalServiceAAA,GLOBAL_PROVIDERS_BBB ] }) export class AppModule { } 2.与shared feature module import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; import {SharedModule} from './shared/shared.module'; //<-------- Important ... ... @NgModule({ imports: [ BrowserModule,SharedModule.forRoot(),//<----------Important HomeModule,routing ],declarations: [ AppComponent],bootstrap: [ AppComponent ] }) export class AppModule { } shared.module.ts import { NgModule,ModuleWithProviders } from '@angular/core'; import { CommonModule } from '@angular/common'; import { GlobalServiceAAA} from './path' //<-------- important import { GLOBAL_PROVIDERS_BBB} from './path'; //<-------- important @NgModule({ imports: [ CommonModule ],declarations: [],exports: [ CommonModule ] }) export class SharedModule { static forRoot(): ModuleWithProviders { return { ngModule: SharedModule,providers: [ GlobalServiceAAA,GLOBAL_PROVIDERS_BBB] //<------important }; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |