为什么angular2服务被多次调用?

时间:2016-10-21 21:39:26

标签: angular angular2-services

我有一个服务(MyService),我包含在我的项目模块中。 我正在每个组件中创建一个MyService类型的私有变量来设置和获取该服务中的数据。

在我的控制台日志中,我看到同一个服务被多次调用。

@NgModule({
  imports: [
    BrowserModule,
    routing,
  ],
  declarations: [
    AppComponent
  ],
  providers: [
    MyService,
  ],
  bootstrap: [AppComponent]
})


//Here is my Component code which create a private variable in my component

@Component({
  selector: 'summary',
  templateUrl: 'summary.component.html'
})
export class SummaryComponent extends OnInit {

  constructor(
              private myService: MyService,
              ) {
    super();
  }

如何多次停止创建对象?

1 个答案:

答案 0 :(得分:0)

您应该使用共享模块进行服务激活,这样一次只能有一个服务实例。

请参阅Can't load shared directives of a NgModule in other NgModules的答案,了解如何实施共享模块。