#angular7
#angular7
Вопрос:
*ngFor=»!FieldAdvicelength amp;amp; пусть fA FieldAdvice; пусть id =индекс»
Когда я использую *ngfor
это, возникает ошибка, мне нужно, чтобы цикл for применялся только тогда, когда длина FieldAdvice больше нуля. Как это сделать?
<tr [ngClass]="{'tableheadings':isOther,'faheadings':isfieldasst}"
*ngFor="let fA of FieldAdvice ; let id =index">
<td *ngIf="FieldAdvicelength amp;amp; RoleId=='AD' amp;amp; !el.IsChecked?true:RoleId=='AD' amp;amp; (enableEdit amp;amp; enableEditIndex==el.name i)">
<input type="text" class='inputtext' formControlName="Advice" placeholder="Type Advice here">
</td>
<td *ngIf="FieldAdvicelength amp;amp; RoleId=='AD'?false:((RoleId=='EP'|| RoleId=='AD'|| RoleId=='FA' || RoleId=='FR' ) amp;amp; (RoleId!=='AD' || !enableEdit || enableEditIndex !==el.name i)) amp;amp; !el.IsChecked">
<span style="color:grey" *ngIf="fA.advice==''">Type Advice here</span>
<span style="color:grey"> {{fA.advice}}</span>
</td>
Мне нужно отобразить эти строки, хотя FieldAdvicelength равно нулю, но цикл ngfor должен применяться только к FieldAdvicelength больше нуля
Ответ №1:
Удалите условие из вашего *ngFor
и добавьте *ngIf="!FieldAdvicelength"
в свой тег.
<div *ngIf="!FieldAdvicelength" *ngFor="let fA of FieldAdvice ; let id =index">
...
</div>
Комментарии:
1. Если необходимо пропустить всю строку, поместите
*ngIf
в<tr>
тег. Если ячейка должна быть пропущена, поместите*ngIf
на<td>
. Убедитесь, что значениеFieldAdvicelength
действительно является правильным значением. Может быть, сделать его более подробным, вставивFieldAdvicelength > 0
.2. Кроме того, если есть ошибка, пожалуйста, укажите указанную ошибку.