隐藏特定路线Angular6上的搜索栏

时间:2018-10-19 11:42:55

标签: html angular

我想在route为/home时在标题上显示输入,而在其他输入时将其隐藏。这是我目前尝试过的方法,但是无法正常工作。

.html

<div *ngIf="searchBarVisible">
    <input class="form-control" placeholder="Search">
</div>

.ts

searchBarVisible: boolean = false
constructor(private router: Router) {
    router.events.forEach((event) => {
      if (event instanceof NavigationStart) {
        if (event['url'] == '/home') {
          this.searchBarVisible = true
        } else {
          this.searchBarVisible = false
        }
      }
    });
  }

似乎是哪个问题?谢谢您的时间!

1 个答案:

答案 0 :(得分:2)

您可以按照以下步骤检查 router.url

isHome(): boolean {
    const check = this.router.url.indexOf('/home');
    if (check) {
        return true;
    }
    return false;
}

然后

<div *ngIf="isHome()">
    <input class="form-control" placeholder="Search">
</div>