在Angular中定义共享的Providers
这是一个示例的实现,首先是我们定义的共享模块 //: ./shared/shared.module.ts import { NgModule,ModuleWithProviders } from '@angular/core'; import { MyDirective } from './my.directive'; import { FunPipe } from './fun.pipe'; import { SomeService } from './some.service'; @NgModule({ declarations: [ FunPipe,MyDirective ],exports: [ FunPipe,MyDirective ] }) export class SharedModule { static forRoot(): ModuleWithProviders { return { ngModule:SharedModule,providers:[ SomeService ] }; } } 注意,我们如何在 现在,在我们的应用模块中,我们可以导入共享模块并调用 //: app.module.ts import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { SharedModule } from './shared/shared.module'; @NgModule({ declarations: [ AppComponent ],imports: [ BrowserModule,SharedModule.forRoot() ],bootstrap: [ AppComponent ] }) export class AppModule {}
最后,在任何功能模块中我们可以简单地导入没有 //: some-feature.module.ts import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { SharedModule } from '../shared/shared.module'; //... @NgModule({ imports: [ CommonModule,SharedModule ],declarations: [ //... ] }) export class SomeFeatureModule {} 就是如此简单!一个简单的小技巧,使它更容易使用共享模块和 天子骄子2017.8.16 星期三 深圳 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |