Как отложить действие в angular или как вызвать действие в списке перезагрузки - PullRequest
0 голосов
/ 10 марта 2020

Мне нужно вызвать действие с именем getHowManyItemsOnList() в моем списке, когда я перехожу к следующему узлу (это приложение - файловый менеджер). Если я сделал это нормально, он запускается перед перезагрузкой, и я получаю информацию о предыдущей странице. Мне нужно получить информацию о загруженной странице, и я понятия не имею, как. Вот как я справляюсь с этим. После двойного щелчка по папке я запускаю функцию навигации:

public navigate(element: FileElement): void {
    this.unselectAllItemsOnList();
    if (element.isFolder) {
      this.navigatedDown.emit(element);
      this.topMenu.forEach(item => {
        if (item.action == 'navigate-up')
        {
          item.disabled = false;
        }
      })
    }
  this.getHowManyItemsOnList();
}

И что происходит в моей функции:

private getHowManyItemsOnList(): void {
    this.itemsCounter = this.fileElements.length;
  }

У меня есть две идеи, но я не уверен, как с этим справиться :

Первый - задержать эту функцию асинхронно и запустить ее после загрузки страницы. Второе - просто активируйте эту функцию не при навигации, а в чем-то, запускаемом после перезагрузки (например, ngOnInit).

У кого-нибудь есть идеи?

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