我的测试路线低于参数T1:
find.exe
当我从'Test / 1'路由到'Test / 2'时,{
path: 'Test/:T1',
component: TestComponent
},
不会重新初始化。这是角度路由器的问题吗?
我正在使用TestComponent
答案 0 :(得分:2)
这是目前唯一受支持的行为。有计划将此配置为https://github.com/angular/angular/issues/9811
您可以订阅参数更改并在那里进行初始化
export class MyComponent {
constructor(private route : ActivatedRoute,
private r : Router) {}
reloadWithNewId(id:number) {
this.r.navigateByUrl('my/' + id + '/view');
}
ngOnInit() {
this.sub = this.route.params.subscribe(params => {
this.paramsChanged(params['id']);
});
}
paramsChanged(id) {
console.log(id);
// do stuff with id
}
}
答案 1 :(得分:1)
在网上搜索此路由器问题的答案大约2个小时后,我的解决方案是放弃路由器,让我的组件做它的事情。
window.location.href = '/my/' + new_id_param + '/view';
如果您没有可以通过访问带有正确参数的网址来阻止加载的警卫,这对您也有用。
不是“最佳实践方式”,但它对我有用。