在Angular 7中,可以使用Router
和NavigationEnd
事件来订阅页面重新加载后的Observable。下面是一个示例解决方法:
Router
和NavigationEnd
:import { Router, NavigationEnd } from '@angular/router';
Router
:constructor(private router: Router) { }
ngOnInit
生命周期钩子中订阅NavigationEnd
事件:ngOnInit() {
this.router.events.subscribe(event => {
if (event instanceof NavigationEnd) {
// 页面重新加载后的操作
// 可以在这里订阅你的Observable
}
});
}
在上述代码中,我们使用this.router.events
来订阅路由事件。当路由事件触发时,我们检查事件类型是否是NavigationEnd
。这样,我们就可以在页面重新加载后执行相应的操作,比如订阅Observable。
请注意,NavigationEnd
只会在导航结束时触发,因此它只会在页面重新加载时触发一次。如果你需要在每次导航结束时都执行操作,可以考虑使用NavigationEnd
以外的其他事件,比如NavigationStart
或NavigationError
。
希望以上解决方法能够帮助到你!