【问题标题】:Nav bar needs to know the routerLink value导航栏需要知道routerLink值
【发布时间】:2019-07-30 20:46:18
【问题描述】:

Angular 7 侧边导航项是一个锚标记,应用需要知道它已被路由到它。

<mat-nav-list>
  <a routerLink="pm/manage" />
  <app-another-component></app-another-component>
  <app-component-to-hide></app-component-to-hide>
</mat-nav-list>

我的 Angular 7 应用有一个侧导航栏。其中一个导航项是带有 routerLink 属性的锚标记。侧导航栏组件需要知道该链接已被单击,并且应用程序已路由到应用程序的这一部分。发生这种情况时,侧导航栏需要隐藏“app-component-to-hide”。

【问题讨论】:

  • 监听你的路由变化,当你检测到路由到pm/manage 时,你可以翻转一个标志或隐藏app-component-to-hide的东西。

标签: angular angular-ui-router


【解决方案1】:

如果您需要了解所有路由更改,请订阅路由器事件。 路由器事件太多了,你可以选择任何你需要的事件。

这是为特定 url 订阅 NavigationEnd 的示例代码:

constructor(private router: Router){}

ngOnInit() {
  this.routerSubscription = this.router.events.subscribe(event => {

    if (event instanceof NavigationEnd) {
      console.log('Router change url event: ', this.router.url);

      if(this.router.url.indexOf('/pm/manage') > -1){
        //Do something
      }
    }
  });
}

我希望这会对您有所帮助。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    • 2022-11-11
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 1970-01-01
    相关资源
    最近更新 更多