Как я могу показать элемент управления в зависимости от значения в списке с помощью AngularJS?

#angularjs

#angularjs

Вопрос:

У меня есть список, перенастроенный с контроллера MVC на контроллер angular следующим образом:

result.data.mylist = (<Test1, true>,<Test2, false>,<Test3, true>)

 I have 3 controls*textboxes)  that always sit on a form , TextBox1, TextBox2, TextBox3.
 

Я хочу показывать только текстовое поле, где значение равно true.
Итак, в приведенном выше примере, поскольку Test1 = true (TextBox1 виден), а TextBox3 виден, поскольку Test3 имеет значение true.
Я могу это сделать, если бы это была простая привязка, но как мне вообще запустить это в AngularJS?

Ответ №1:

Используйте встроенную *ngIf директиву Angular.

Например,

 <input type="checkbox" *ngIf="result.data.mylist[0]">
<input type="checkbox" *ngIf="result.data.mylist[1]">
<input type="checkbox" *ngIf="result.data.mylist[2]">
 

Предполагая, что result.data.mylist это массив, содержащий логические значения.

В качестве альтернативы вы можете отключить их с помощью,

 <input type="checkbox" [disabled]="result.data.mylist[0]">
<input type="checkbox" [disabled]="result.data.mylist[1]">
<input type="checkbox" [disabled]="result.data.mylist[2]">