我有一个列出一系列数据并需要分页的组件,因为数据列表可能很长。 我已经使用路由实现了一个简单的分页。例如:
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>
如果单击分页链接之一,则路由会相应更改,但不会重新加载数据。 如何强制重新创建组件或应挂接到哪个事件以重新加载数据
答案 0 :(得分:1)
您可以订阅route参数,而不是在构造函数中加载数据。
this.route.params.subscribe(params => {
this.loadUser(params.id);
});