【问题标题】:How to hide show menu from different component in Angular 4如何在Angular 4中隐藏来自不同组件的显示菜单
【发布时间】:2017-06-01 19:14:17
【问题描述】:

在我的应用组件中,我有三个组件-

app.component.html

<app-header></app-header>
<router-outlet></router-outlet>
<app-footer></app-footer>

在我的app-header 组件中,我有一个带有一些导航链接的导航栏,我想根据用户登录状态隐藏-显示一些链接。

app-header.component.html

<nav>  
    <ul class="nav navbar-nav navbar-right" >

    <li><a class="white" routerLink="/register"> Register</a></li>

    <li><a class="white" routerLink="/login"> Login</a></li>

    <li (click)="onLogOut()"><span> LogOut</span></li>

  </ul>
 </nav>

当用户登录时,我在 LocalStorage 上存储了一个令牌,所以如果这个令牌有一些价值,那么我想隐藏来自 app-header component. 的登录和注册链接,因为这些链接在 heder 组件中,我该如何实现这一点。我将令牌存储在不同的组件中

请建议我怎样才能做到这一点。

【问题讨论】:

    标签: angular typescript show-hide angular-ng-if


    【解决方案1】:

    您可以使用 ngIF 来做到这一点。

    <app-header *ngIf != "localStorage.getItem("token") == ''"></app-header>
    

    您可以在组件中声明一个变量,使用 localStorage.getItem("token") 检查。基于分配这个真或假。

    【讨论】:

    • 我只想隐藏链接而不是我的 app-hader 组件,并且该组件不是 <router-outlet></router-outlet> 的一部分所以如果我分配值它将不起作用,因为它不会每次都加载
    • 我不确定你的问题。但你可以在任何组件中使用 localStorage.getItem("token")。
    猜你喜欢
    • 1970-01-01
    • 2020-07-29
    • 2019-07-08
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    相关资源
    最近更新 更多