问题描述:
在Angular中,当使用Angular Router导航到另一个路由时,调用Router.url返回的路径未更新。
解决方法:
import { ActivatedRoute } from '@angular/router';
@Component({
// ...
})
export class MyComponent implements OnInit {
constructor(private route: ActivatedRoute) { }
ngOnInit() {
// 订阅路由参数的变化
this.route.url.subscribe(url => {
// 获取最新的路径
console.log(url);
});
}
}
import { Router, NavigationEnd } from '@angular/router';
@Component({
// ...
})
export class MyComponent implements OnInit {
constructor(private router: Router) { }
ngOnInit() {
// 监听导航结束事件
this.router.events.subscribe(event => {
if (event instanceof NavigationEnd) {
// 获取最新的路径
console.log(this.router.url);
}
});
}
}
这两种方法都可以确保获取到最新的路径。根据具体场景的需要,选择合适的方法来解决问题。