$ инжектор не будет загружать зависимости, когда внедренный класс расширяет некоторый класс - PullRequest
0 голосов
/ 11 декабря 2018

Я использую Angular's $ инжектор для динамической загрузки сервисов и вызова его функции:

const actionService = this.$injector.get(action); //in this case action = displayScreenTaskActionService 
actionService.initTaskAction();

Внедренный класс обслуживания:

// imports ...
export class DisplayScreenTaskActionService {
  constructor(
    protected $rootScope: IRootScopeService,
    protected localStorageService: ILocalStorageService,
    protected screenService: ScreenService,
    protected notifyService: NotifyService
  ) { }

  initTaskAction() {
    this.screenService.loadScreens({
        limit: 0,
        orderBy: 'name'
    })
    ...
 }
}
export default angular.module('taskActions.displayScreen',[localStorageService, screenService, notifyService])
.service('displayScreenTaskActionService', DisplayScreenTaskActionService).name;

И это работает нормально, но когда внедренный классрасширяет некоторый класс

export class DisplayScreenTaskActionService extends GenericTaskActionService { 

, тогда зависимости в конструкторе DisplayScreenTaskActionService не будут внедряться и будут неопределенными.Когда я использую сервис без $ injector, тогда загружаются зависимости, даже если он расширяет некоторый класс.

В проекте используется угловой 1.7.5 с машинописным текстом 3.1.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...