Ng-if строка равна нулю, когда она находится в цикле for - PullRequest
1 голос
/ 02 апреля 2019

Пытался получить мое строковое значение, чтобы не отображать, когда Ng-if имеет значение false. Я прочитал это! в строковом значении должно быть возвращено значение false, но оно все равно проходит. Я думаю, что это может быть потому, что я не получаю переменную из ngfor правильно, но я не уверен.

Я попробовал label = "" и он делает то же самое, а также label.tostring () = ''.

 <mat-chip-list *ngFor = "let label of testValue2">
            <mat-chip ng-if="!label">{{label}}</mat-chip>
 </mat-chip-list>

Мой ожидаемый результат - возвращение false и не уверенность в мат-чипе

Спасибо всем

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Согласно официальной документации ngIf

Вы только что ошиблись в синтаксисе, вы должны использовать его без - и с * в начале, как это *ngIf, проверьте пример ниже.

<mat-chip-list *ngFor="let label of testValue2">
           <mat-chip *ngIf="!label">{{label}}</mat-chip>
</mat-chip-list>

Но если он включен <ng-template></ng-template>, то синтаксис немного отличается

<mat-chip-list *ngFor="let label of testValue2">
  <ng-template [ngIf]="!label">
    <mat-chip>{{label}}</mat-chip>
  </ng-template>
</mat-chip-list>

Существует также else для этой директивы.

<mat-chip-list *ngFor="let label of testValue2">
           <mat-chip *ngIf="!label; else secondOption">{{label}}</mat-chip>
           <ng-template #secondOption>
             <mat-chip>Second Option</mat-chip>
           </ng-template>
</mat-chip-list>

Опять есть другой синтаксис, если *ngIf и else включены ng-template.

<mat-chip-list *ngFor="let label of testValue2">
  <ng-template [ngIf]="!label" [ngIfElse]="secondOption" ]>
    <mat-chip>{{label}}</mat-chip>
  </ng-template>
  <ng-template #secondOption>
    <mat-chip>Second Option</mat-chip>
  </ng-template>
</mat-chip-list>
0 голосов
/ 02 апреля 2019

Директива для этого *ngIf="!label", а не ng-if="!label". А !label - это на самом деле false enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...