AngularJS - множественное наследование для вызова переменной контроллера из службы - PullRequest
1 голос
/ 06 июня 2019

У меня есть пример сервиса:

export class ProjectActionService extends ActionService {

  constructor() {
    'ngInject'
    super($state)
  }

  getProjects() {
    // Call API...
  }
}

Я бы хотел изменить значение переменной (this.showLoader), существующей в контроллере, с помощью метода getProjects ().

Контроллер:

export class ProjectComponent {
  constructor() {
    'ngInject'
  }

  $onInit() {
    this.showLoader = false
  }
}

Каков наилучший способ сделать это с множественным наследованием (mixin), директивой ...?

1 Ответ

0 голосов
/ 06 июня 2019

Это не подходящий способ справиться с этим. Ваш сервисный метод должен только вызывать API и получать данные, а не изменять переменные контроллера. Один из способов показать / скрыть загрузчик - изменить логическое значение перед вызовом и изменить снова после получения ответа. Образец внутри контроллера после введения вам услуги:

this.showLoader = true;
this.ProjectActionService.getProjects().then(response => {
...
})
.finally(() => this.showLoader = false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...