[英]Angular, router.navigate delayed for the first time after page reload
[英]How to reload a view after router.navigate in Angular 4?
我有一个切换到商店功能的功能,该功能由标题组件控制,并显示该场所的仪表板。
在该标头组件中,即使我已经在该路由中,也导航到仪表板路由。
this.router.navigate(['/venues', this.currentVenue._id, 'dashboard']);
但是它不会再次触发ngOnInit钩子,因此不会重新加载我的视图。
这种情况下正确的解决方法是什么?
您是否需要重新加载视图? 还是只获取一些数据?
如果只需要根据路由参数来获取数据,则可以执行以下操作:
ngOnInit(): void {
this.route.params.subscribe(
params => {
const id = +params['id'];
this.getMovie(id); // <- Or whatever you need to do here
}
);
}
在ngOnInit中,此代码订阅了route参数。 因此,每次参数更改时,即使未更改/重新加载视图,该更改也将作为预订的一部分并执行关联的回调。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.