在Angular 8中,可以通过使用ActivatedRoute
来处理导航到相同路由路径时的路由订阅。下面是一个包含代码示例的解决方法:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
import { filter } from 'rxjs/operators';
ActivatedRoute
和Router
:constructor(private route: ActivatedRoute, private router: Router) { }
ngOnInit()
生命周期钩子中订阅路由事件:ngOnInit() {
this.router.events.pipe(filter(event => event instanceof NavigationEnd))
.subscribe(() => {
// 处理路由订阅的代码
console.log('路由已发生变化');
});
}
在这个示例中,我们使用filter
操作符来过滤出NavigationEnd
事件,它表示导航已经完成。然后,我们订阅这个过滤后的事件,并在回调函数中处理路由订阅的代码。
你可以根据自己的需求在回调函数中执行适当的操作。这里只是简单地打印一条消息到控制台。