Изменение углового 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);
});
Другие вопросы по тегам