我切换到商店功能,由标题组件控制并显示该场地的仪表板。
在该标题组件中,即使我已经在该路线中,我也会导航到仪表板路线。
this.router.navigate(['/venues', this.currentVenue._id, 'dashboard']);
但它不会再次触发ngOnInit挂钩,因此我的视图不会重新加载。
此类案例的正确解决方法是什么?
答案 0 :(得分:2)
您需要重新加载视图吗?或者只是重新获得一些数据?
如果您只需要根据路由参数重新获取数据,则可以执行以下操作:
ngOnInit(): void {
this.route.params.subscribe(
params => {
const id = +params['id'];
this.getMovie(id); // <- Or whatever you need to do here
}
);
}
在ngOnInit中,此代码订阅路由参数。因此,每次参数更改时,即使视图未更改/重新加载,更改也将作为订阅的一部分被选取,并执行相关的回调。