如何在Angular2中获取当前组件名称

时间:2017-07-21 13:44:24

标签: angular

当用户点击促销页面时,我想在Angular2中隐藏页眉和页脚。

https://example.com/promo

我的应用程序组件如下:

  <login-bar></login-bar>
  <banner *ngIf="showComponent()"></banner>
  <navbar *ngIf="showComponent()"></navbar>
  <router-outlet></router-outlet>
  <footer *ngIf="showComponent()"></footer>

如果用户在页面上:/ promo我想隐藏横幅,导航栏和页脚组件。

在我的代码中我有这个:

export class AppComponent {   constructor(
      private router:Router

  ) {}

  showComponent(): Boolean {
    ****
    How do I check the current route?
    ****
    var currentRoute = ** enter magic here **
    return (currentRoute === "promo") ? true : false;   
  } 
}

所以我的问题是,找到我当前页面/路线的最佳方法是什么,以便我可以显示或隐藏组件?

1 个答案:

答案 0 :(得分:0)

要获取当前激活的路由,您可以注入ActivatedRoute服务。这将使您能够访问当前路线的URL的Observable。

export class AppComponent {

  // Bind to this:
  isPromo = false;

  constructor(private route: ActivatedRoute) {}

  ngOnInit() {
      route.url.subscribe(segments => {
          this.isPromo = segments[0].path === "promo";
      });
  }

}