Angular 8 — перейдите к компоненту, затем обновите окно

#angular #routes #state #angular8

#angular #маршруты #состояние #angular8

Вопрос:

Я хочу перейти к компоненту, а затем обновить окно при нажатии на кнопку switch ().

Я пробовал:

 switch() {
    this.router.navigateByUrl("/layouts");
    window.location.reload();
  }
 

но он работает не так, как ожидалось, он только перезагружает страницу без навигации.

Ответ №1:

navigateByUrl является асинхронным, поэтому окно.location.reload() вызывается перед возвратом, что приводит к перезагрузке страницы перед переходом.

navigateByUrl возвращает обещание, чтобы вы могли сделать:

 this.router.navigateByUrl("/layouts").then(() => {
    window.location.reload();
});
 

Комментарии:

1. Я бы предложил добавить причину, по которой он работает не так, как ожидалось.