试图根据路线角度隐藏元素5

时间:2018-02-07 04:44:22

标签: javascript angular typescript

我试图创建一个动态导航,当你在常规网站上它显示一个完整的导航,但如果你在某些路径,例如http://mywebsite.com/path我希望它隐藏某些导航项目并显示另一个导航项目< / p>

我的设置是..

app.component.html

<ul (click)="navLinkClick()" class="nav-page_ul">
    <a *ngIf="!routeHidden" [routerLink]="['']"><li class="go-to-website">go to site</li></a>
    <a *ngIf="routeHidden" [routerLink]="['1']"><li>1</li></a>
    <a *ngIf="routeHidden" [routerLink]="['2']"><li>2</li></a>
    <a *ngIf="routeHidden" [routerLink]="['3']"><li>3</li></a>
    <a *ngIf="routeHidden" [routerLink]="['4']"><li>4</li></a>

app.component.ts

ngOnInit() {
this.router.events.subscribe( (e) => {
  if (e instanceof NavigationStart) {
    if (e.url === '/6' || e.url === '/7' || e.url === '/8' || '/9') {
      this.routeHidden = false;
    } else {
      this.routeHidden = true;
    }
  }
});
}

现在发生的事情是无论我在哪条路线上只显示go-to-website导航项而其余部分

我不确定我做错了什么......

谢谢!

1 个答案:

答案 0 :(得分:2)

在您的情况下,e.url === '/8' || '/9'可能是一个问题

将其更改为e.url === '/8' || e.url === '/9'