Реализация условия if else внутри mat-cell-таблицы mat-table - Angular 5 - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь реализовать условие if else внутри mat-cell таблицы mat в моем угловом приложении. Но я получаю сообщение об ошибке из консоли "Ошибка ОШИБКИ: 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>

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 09 января 2019

у вас есть ngIf, но он должен начинаться со звездочки: *ngIf

Кроме того, с атрибутом связанной директивы, таким как *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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...