Не могу получить инжектор в угловой 2
Я имею 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
нулевой. Является ли хорошей практикой создание единого сервиса для хранения данных?
1 ответ
Попробуйте сделать это следующим образом:
constuctor( private drawingDataService: DrawingDataService)
И вы можете использовать его следующим образом:
this.drawingDataService.someMethod()