在Angular2 RC1和更低版本中调用路由链接总是导致组件重新加载:
<a [routerLink]="['/page',{id: 1}]">A link </a>
使用Angular2,无RC,如果组件使用不同的参数导航到自身,则不会重新加载该组件.有没有办法让重新加载行为回来?
虽然你已经提到’ActivatedRoute’以及它如何复杂你的代码,但我认为这将有助于其他人在遇到问题时遇到这个问题,比如我:).
This topic将回答您的问题.
下面的代码(粘贴自上面的主题)是“魔术”发生的地方.
如果您将’重新加载’代码放在此subsribe函数中,您的组件将重新加载.
ngOnInit() { this.sub = this.route.params.subscribe(params => { this.id = +params['id']; // (+) converts string 'id' to a number // Some 'reload' coding // In a real app: dispatch action to load the details here. }); }