Изменение углового URL не приводит к воссозданию компонента - PullRequest
0 голосов
/ 28 июня 2018

У меня есть компонент, который перечисляет серию данных и требует подкачки, потому что список данных может быть длинным. Я реализовал простой пейджинг с использованием маршрута. Например:

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 Ответ

0 голосов
/ 28 июня 2018

Вы можете подписаться на параметры маршрута вместо загрузки данных в конструктор.

this.route.params.subscribe(params => {
  this.loadUser(params.id);
});
...