繁体   English   中英

在Angular 4中router.navigate之后如何重新加载视图?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM