Angular RouterLink Parameters - активированный маршрут не работает - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь получить параметр routerLink, используя ActivatedRoute.

constructor(private route: ActivatedRoute) { }

ngOnInit() {
  this.pageTitle = this.route.snapshot.params['title'];
}

Показывает параметр только в первый раз. Но не снова, когда параметр изменяется.

Ссылка на Пример StackBlitz .

Когда я нажимаю Страница поиска a , отображается заголовок test . Но когда я нажимаю Страница поиска b , она все равно продолжает показывать заголовок test , хотя заголовок testing . Однако, когда я нажимаю Home , а затем Страница поиска b , он отображает обновленный параметр как testing .

Как мне исправить проблему, чтобы при нажатии Страница поиска b после Страница поиска a показывает мне обновленный параметр.

1 Ответ

2 голосов
/ 28 апреля 2020

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

Попробуйте:

this.route.params.subscribe(params => {
        this.pageTitle = params['title'];
      });

Каждый раз, когда изменяются параметры, вы получите уведомление, и подписка вступит в силу и измените pageTitle.

...