强制Angular2在导航时重新加载组件

前端之家收集整理的这篇文章主要介绍了强制Angular2在导航时重新加载组件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Angular2 RC1和更低版本中调用路由链接总是导致组件重新加载:
<a [routerLink]="['/page',{id: 1}]">A link </a>

使用Angular2,无RC,如果组件使用不同的参数导航到自身,则不会重新加载该组件.有没有办法让重新加载行为回来?

我理解处理此问题的另一种方法,从ActivatedRoute订阅并检测到变量,但这会导致组件逻辑的复杂性增加.

虽然你已经提到’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.
   }); 
}

猜你在找的Angularjs相关文章