обнаружение изменений; application.tick вызывается рекурсивно? Зачем - PullRequest
0 голосов
/ 24 января 2019

У меня есть родительский компонент A и дочерний компонент b и служба c для загрузки всплывающей службы загрузки в случае успеха и сбоя.

Имеет кнопку, называемую newchanges в дочернем компоненте B, а компонент b выдает значениеи вызвать функцию в компоненте, и там есть вызов службы, в вызове службы.

, пока я постоянно нажимаю на кнопку нового элемента дочернего компонента b, я получаю ниже error.application.tick вызывается рекурсивно.

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

может помочь в решении любой проблемы:

это служба загрузчика, используемая при успешном завершении вызова службы и сбое при закрытии загрузчика.

exitLoader = ():void => {

        setTimeout(() => {
          console.log('tick1');
          this.matLoader.close();

          this.applicationRef.tick();
        }, 50);

}

Мне нужно закрытьЗагрузчик, который является службой, которая используется в другом сервисе. Успех и сбой, когда я не использую приложение, ссылка не закрывается, поэтому я использовал это после того, как я постоянно нажимаю кнопку вызова службы, чтобы получить упомянутую ошибку.

и я попробовал другой вариант, используя зону, загрузчик не закрыт:

 // setTimeout(() => {
      //   this.zone.runOutsideAngular(() => {
      //     this.matLoader.close();
      //   });
      // }, 100);
...