1

我有DrawingDataService包含我的数据数组和绘制这些数据的不同工具。我想DrawingDataService在我的所有工具中都使用单例。

DrawingDataService在 AppModule 提供者列表中设置(使其成为单例实例):

@NgModule({
declarations: [
    AppComponent
],
imports: [
    BrowserModule,
    FormsModule,
    HttpModule
],
providers: [
    DrawingDataService
],
bootstrap: [AppComponent]
})
export class AppModule { }

然后我在我的工具中添加注射器:

export class LineTool extends BaseTool {

constructor(private injector: Injector) {

    super();

    let drawingDataService2 = this.injector.get(DrawingDataService);

它说我this.injector是空的。制作单例服务来存储数据是一种好习惯吗?

4

1 回答 1

0

尝试以下列方式执行此操作:

constuctor( private drawingDataService: DrawingDataService)

您可以通过以下方式使用它:

this.drawingDataService.someMethod()
于 2017-05-23T19:49:44.023 回答