Angular 2到同一组件的路线

时间:2016-09-05 17:21:08

标签: angular2-routing

我已经使用标记为“depricated”的路由器升级了Angular 2,并开始使用rc5和rc6中的“new”路由器。但是现在我遇到了一个问题(从rc5开始,在rc6中仍然是相同的),其中有一个组件需要导航到相同的组件但具有不同的参数(以获取其他数据,然后是视图中的那个已经完成,基于关于参数)。

在depricated路由器中,每次使用this.router.navigate导航到组件时,都会调用构造函数和AfterViewInit等。在新的路由器中,在相互之后再次调用相同的组件时,不会调用构造函数和其他内容。所以我猜有一些“神奇”/缓存正在发生。另请注意,在组件中我发送了一个必需参数和一些可选参数,因此链接看起来像这样:http://localhost:2222/mycomponent/1;someotherparam=123

有没有办法在每次导航时强制创建组件?

1 个答案:

答案 0 :(得分:7)

查看Angular 2的Rangle.io guide

特别是关于阅读路线参数

的部分
  

ActivatedRoute上的params属性是Observable的原因是路由器在导航到同一组件时可能无法重新创建组件。在这种情况下,参数可能会更改,而不会重新创建组件。

因此,您的组件不会被重新创建,但您可以订阅您感兴趣的路线部分的更改(paramsdatafragment,{{1} })并将这些初始化方法称为queryParams回调。