从App组件隐藏标题组件

时间:2017-09-19 05:51:09

标签: angular

我正在尝试保护标头组件免于登录,忘记密码并从app.component.html重置密码,如下所示:

<app-header *ngIf="router.url != '/' && router.url != '/forget-password' 
&& router.url != '/reset-password/:email_for/:token_for'"></app-header>

此处'/''/forget-password'正在运作,但'/reset-password/:email_for/:token_for'无效。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

更好的方法来编写一个函数来检查条件并从ts返回一个布尔值,

isValid(): boolean {
  if ((this.router.url != '/') && (this.router.url != '/forget-password') && (this.router.url != '/reset-password/:email_for/:token_for')) {
            return true;
    }
  return false;
}

并致电

<app-header *ngIf="isValid()"></app-header>

答案 1 :(得分:4)

使用以下内容(如果没有其他网址带有&#39; / reset-password /&#39;您想要标题):

<app-header *ngIf="router.url != '/' && router.url != '/forget-password' && router.url.indexOf('/reset-password/') == -1"></app-header>