加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在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
    };
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读