angularjs - 在 mat-table 的 mat-cell 中实现 if else 条件 - Angular 5

标签 angularjs typescript angular5 mat-table

我正在尝试在我的 Angular 应用程序中的 mat-table 的 mat-cell 内实现 if else 条件。但我从控制台收到错误消息“错误错误:StaticInjectorError(AppModule)[NgIf -> TemplateRef]:”

我的代码是

<ng-container matColumnDef="role">
    <mat-header-cell *matHeaderCellDef>Role</mat-header-cell>        
    <mat-cell *matCellDef="let user" ngIf="{{user.roles.length == 1}}">
        Admin          
    </mat-cell>
  </ng-container>

非常感谢任何帮助。

最佳答案

你有ngIf , 但它应该以星号为前缀:*ngIf

此外,还有一个绑定(bind)指令属性,如 *ngIf您不需要在其中使用花括号。只是在做*ngIf="user.roles.length == 1"应该没问题。

但是,通常你不能在同一个带星号的元素上有两个指令,所以使用另一个 <ng-container>可能是解决这个问题的方法:

<ng-container matColumnDef="role">
  <mat-header-cell *matHeaderCellDef>Role</mat-header-cell>
  <ng-container *ngIf="user.roles.length == 1">
    <mat-cell *matCellDef="let user" >
      Admin          
    </mat-cell>
  </ng-container>
</ng-container>

关于angularjs - 在 mat-table 的 mat-cell 中实现 if else 条件 - Angular 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54116154/

相关文章:

javascript - 无法将数据从 Controller 读取到 View 中

javascript - 从 Angular ng-repeat 单击时将图像动态添加到 Bootstrap Modal 中

angular - 浏览器关闭时如何删除 cookie?使用 angular2-cookies

javascript - 在 Angular 5 中设置 header

angular - 如何对可编辑 primeng 数据表实现响应式(Reactive)表单方法

angular - 同时运行多个应用程序?

javascript - 如何在 Angular 过滤器中使用变量

node.js - 为 Node.js 服务器 + SPA javascript 框架设置自动化 BDD 测试环境的简单方法?

angular - 在 RXJS Tap 操作符内部时,Console.Log 不会执行

html - 通过 Json Pipe Angular 9 项目显示 ngForm 数据不显示任何数据。将循环结构转换为 JSON 错误