微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

强制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.
   }); 
}

原文地址:https://www.jb51.cc/angularjs/141253.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐