#angular #typescript
#angular #typescript
Вопрос:
У меня есть сценарий для сравнения двух переменных в компонентном HTML-файле. например
HTML:
<tr *ngFor="let item of mf.data">
<td style="width: 20%">
<input type="text" name="FirstName" value={{item.id}} [disabled]="!isEditable amp;amp; item.id == id">
</td>
<td><i class="fa fa-pencil-square-o" aria-hidden="true" style="cursor: pointer;" (click)="showAsEditable(item);"></i></td>
</tr>
ts:
filterData;
id : string;
isEditable = false;
showAsEditable(temp){
this.isEditable = true;
this.id = temp.id;
}
В приведенном выше примере я хочу сравнить две переменные как
[disabled]="!isEditable amp;amp; item.id == id"
но на самом деле это не сравнение должным образом, как сравнить эти два разных параметра.
Комментарии:
1. Вы имеете в виду, что ваш элемент никогда не доступен для редактирования?
Ответ №1:
Я думаю, что логика сравнения здесь немного запутанная.
То, что вы сравниваете здесь, это:
если НЕ РЕДАКТИРУЕМЫЙ и ЭЛЕМЕНТ — ЭТО ТО, ЧТО я ХОЧУ, тогда отключен
Но вы хотите
если НЕТ(ДОСТУПНО ДЛЯ РЕДАКТИРОВАНИЯ и ЭЛЕМЕНТ — ЭТО ТО, ЧТО я ХОЧУ), то отключен
Таким образом, вы можете заключить в скобки, как:
[disabled]="!(isEditable amp;amp; item.id == id)"