предоставлять услуги динамически в компоненте угловой 2 - PullRequest
0 голосов
/ 26 июня 2018

Я просто хочу динамически предоставлять услугу в компоненте, вызывая любую функцию внутри компонента.Я создал массив, а затем выдвинул службы массива в провайдерах.Я не знаю, это правильный способ сделать это или нет.Спасибо

import { Component, OnInit} from '@angular/core';

let providers:any = [];

@Component({
  selector: 'app-component',
  template: `
    <p></p>
  `,
  styles: [],
  providers: [providers]
})
export class AppComponent implements OnInit {

  constructor() {}

  ngOnInit() {
    this.addProviders();
  }

  addProviders() {
    providers.push({provide: service1, useClass: UseClass1});
    providers.push({provide: service2, useValue: UseValue2});
  }

}

1 Ответ

0 голосов
/ 26 июня 2018

Попробуйте добавить сервисы в каждый @NgModule в providers разделе, если вы используете отдельные NgModules

Я попробовал и работаю ....

У меня есть несколько NgModule и я импортирую их вSharedModule ... поэтому я предоставляю услуги, которые использую в импортированном компоненте

...