Сравнить две переменные

#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)"