Изменение углового URL не вызывает повторного создания компонента
У меня есть компонент, который перечисляет ряд данных и требует подкачки, потому что список данных может быть длинным. Я реализовал простой пейджинг с использованием маршрута. Например:
http://localhost:50367/searchflights/2
Даст мне вторую страницу данных. Теперь, если я наберу URL-адрес вручную в браузере и нажму Enter, компонент будет вынужден воссоздать, и по этой причине данные загружаются в конструктор. Но если я уже на странице компонента и через ссылку "Маршрутизатор" измените URL-адрес, изменяется только URL-адрес, и компонент не воссоздается, поэтому данные не перезагружаются.
Мой пейджинг состоит из простого списка ссылок внизу страницы:
<div>
<a style="display:inline-block" *ngFor="let page of pages" [routerLink]="['/searchflights/',page]">
{{page}}
</a>
</div>
Если я нажимаю на одну из ссылок подкачки, маршрут изменяется соответствующим образом, но данные не перезагружаются. Как я могу форсировать воссоздание компонента или какое событие я должен подключить, чтобы перезагрузить данные
1 ответ
Вы можете подписаться на параметры маршрута вместо загрузки данных в конструктор.
this.route.params.subscribe(params => {
this.loadUser(params.id);
});