Angular Router.url 没有更新当前路径
Angular Router.url not updating current path
我的 header 组件 Router.url 总是 returns 斜线 '/' 而不是导航 URL.
currentLink?: string = ''
constructor(private route: Router) { }
ngOnInit(): void {
this.getUrl()
}
使用它的应用程序组件。
<app-header></app-header>
<router-outlet></router-outlet>
getUrl() {
this.currentLink = this.route.url
}
我已经在 child 组件上尝试了 AfterContentInit 仍然无效
仅当组件位于 <router-outlet>
内时,才有可能通过 ActivatedRoute 服务从 url 获取参数,在其他情况下(我认为,这是你的情况)你应该使用 NavigationEnd 事件:
export class Component {
ngOnInit() {
this.router.events
.pipe(
delay(10),
filter((e) => e instanceof NavigationEnd),
)
.subscribe((event: RouterEvent) => {
console.log(event.url);
});
}
}
我的 header 组件 Router.url 总是 returns 斜线 '/' 而不是导航 URL.
currentLink?: string = ''
constructor(private route: Router) { }
ngOnInit(): void {
this.getUrl()
}
使用它的应用程序组件。
<app-header></app-header>
<router-outlet></router-outlet>
getUrl() {
this.currentLink = this.route.url
}
我已经在 child 组件上尝试了 AfterContentInit 仍然无效
仅当组件位于 <router-outlet>
内时,才有可能通过 ActivatedRoute 服务从 url 获取参数,在其他情况下(我认为,这是你的情况)你应该使用 NavigationEnd 事件:
export class Component {
ngOnInit() {
this.router.events
.pipe(
delay(10),
filter((e) => e instanceof NavigationEnd),
)
.subscribe((event: RouterEvent) => {
console.log(event.url);
});
}
}