Не могу получить инжектор в угловой 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()
Другие вопросы по тегам