Angular 2到同一组件的路线

ale*_*are 5 angular2-routing

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

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

是否有任何方法可以在每次导航时强制创建组件?

sea*_*ght 7

看一下Angular 2 的Rangle.io指南.

特别是阅读路线参数部分

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

因此,您的组件将不会被重建,但你可以订阅在你感兴趣的(路线的部分变化params,data,fragment,queryParams),并调用这些初始化方法为您的subscribe()回调.