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);
      });
  }
}