我的.routing.ts文件中有这个
export const routing = RouterModule.forChild([ { path: 'page/:id', component: PageComponent }]);
我的PageComponent文件检查id参数并相应地加载数据。在路由器的早期版本中,如果我从/ page / 4转到/ page / 25,则该页面将“重新加载”并且组件将更新。
PageComponent
现在,当我尝试导航到/ page / X时,其中X是id,它只会第一次加载,然后url会更改,但是组件不会再次“重新加载”。
是否需要传递某些内容以强制重新加载组件并调用ngOnInit事件?
更新2
该答案仅适用于很久以前停产的路由器版本。
更新1
现在已通过修复了新路由器的(Angular2.3),可提供自定义重用策略。
原版的
这是一个已知问题。当前,尚无办法使路由器在仅参数路由更改时重新创建组件。
他们讨论了最终实施一些重用策略的计划。
您可以订阅参数更改并在那里执行代码,而不是在 ngOnInit()
ngOnInit()