Угловой маршрутизатор перейдите затем перезагрузите - PullRequest
0 голосов
/ 01 декабря 2018

Итак, я хочу перезагрузить приложение после перехода к определенному маршруту.

Я использую router.navigate для перехода к определенному маршруту в зависимости от роли пользователя, и это работает нормально, но я должен перезагрузить страницу послемаршрутизация при переходе со страницы входа (не каждый раз, когда пользователь открывает тот или иной маршрут) - и перезагрузка здесь для обновления языка страницы в зависимости от языка пользователя

, поэтому я попытался сделать это

  else if(this.sp.role === 'Admin') {
      console.log('ooo')
      this.router.navigate(['/admin/dashboard']); 
      this.window.location.reload();

но это перезагружает знак на странице

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Простой

this.router.navigate(['path/to'])
  .then(() => {
    window.location.reload();
  });
0 голосов
/ 01 декабря 2018

Что вы можете сделать, это сместить логику перезагрузки на фактический компонент, который необходимо перезагрузить.Вы можете подписаться на событие NavigationEnd, а затем проверить маршрут, с которого вы едете, например,

this.router.events
  .pipe(
    filter(value => value instanceof NavigationEnd),
  )
  .subscribe(event => {
  if (event.url === 'http://mypreviousUrl.com') {
    this.window.location.reload();
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...