我有DrawingDataService
包含我的数据数组和绘制此数据的不同工具。我希望在我的所有工具中使用DrawingDataService
像singleton一样。
我在AppModule提供程序列表中设置DrawingDataService
(以单例实例制作):
@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
为空。
为存储数据制作单例服务是一种好习惯吗?
答案 0 :(得分:0)
尝试以下一种方式执行此操作:
constuctor( private drawingDataService: DrawingDataService)
您可以通过下一种方式使用它:
this.drawingDataService.someMethod()