Angular 5 ngSwitch 不工作

标签 angular navbar angular5 ng-switch

在我的应用程序中,我尝试根据用户 Angular 色实现导航栏。如果用户是管理员,则应显示不同的菜单,而对于普通用户,则应仅显示该用户的菜单。我正在使用 ngSwitch 来限制导航栏,但无法做到这一点。请看一下。

<div [ngSwitch] = "myrole">
  <ng-template *ngSwitchCase = "'Admin'">
    <nav class="navbar navbar-expand-sm bg-primary navbar-dark">
        <ul class="navbar-nav">
          <li class="nav-item active">
            <a class="nav-link" routerLink = '/home' routerActive = 'active'>Home</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" routerLink = '/logout' routerActive = 'active' >Log Out</a>
          </li>
          <li class="nav-item" style="text-align:right">
            <span class="nav-link navbar-right">{{username}}</span>
          </li>
        </ul>
      </nav>
    </ng-template>
    <ng-template *ngSwitchCase = "'NoUser'">
      <nav class="navbar navbar-expand-sm bg-primary navbar-dark">
        <ul class="navbar-nav">
          <li class="nav-item active">
            <a class="nav-link" routerLink = '/home' routerActive = 'active'>Home</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" routerLink = '/login' routerActive = 'active' >Login</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" routerLink = '/signup' routerActive = 'active' >Sign UP</a>
          </li>
        </ul>
      </nav>
    </ng-template>

    </div>

最佳答案

您的语法错误,请更改

来自

 <ng-template *ngSwitchCase = "'Admin'">

 <ng-template [ngSwitchCase] = "'Admin'">

关于Angular 5 ngSwitch 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49584575/

相关文章:

twitter-bootstrap - 仅包含一个模块的 Bootstrap 样式

node.js - 如何在 Nodejs 中处理 angular2 路由路径?

html - 为什么我的文字与图片不一致?

html - 如何使导航栏中的引导按钮跨越整个导航栏

html - 为什么我的下拉导航菜单换行并放到第二行?

ionic3 - 未捕获( promise ): QuotaExceededError Ionic 3

angular - 如何以 Angular 5 获取基本网址?

javascript - 运行 ng add @angular/material 和 scss 时,靛蓝粉色主题是否完全初始化?

angular - 从 API 响应动态创建 md-card

node.js - 如何解决构建 Angular 应用程序时发生的此错误?