Флажок отмечен, если значение boolean истинно с Angular2

Я хотел бы знать, как установить флажок, если значение истинно и не Angular2 если false с Angular2.

Adult <input type="checkbox" value="{{person.is_adult}}">

{{person.is_adult}} является boolean

Может кто-нибудь предложить что-нибудь? благодаря

Ответы

Ответ 1

{{}} выполняет строчную интерполяцию и строит true и false а Angular по умолчанию использует привязку свойств, и я предполагаю, что свойство ожидает булевских значений, а не строк:

<input type="checkbox" [checked]="person.is_adult">

Это может сработать

<input type="checkbox" attr.checked="{{person.is_adult}}">

потому что с привязкой атрибута браузер может перевести его из атрибута (который может быть только строками) для логического чтения при чтении его в его свойство.

Он также checked вместо value

Вы также можете использовать ngModel

<input type="checkbox" [ngModel]"person.is_adult" name="isAdult">
<input type="checkbox" [(ngModel)]"person.is_adult" name="isAdult">

для односторонней или двусторонней привязки.
Убедитесь, что FormsModule импортировали FormsModule если используете ngModel.

Ответ 2

вам не хватает квадратных скобок

<input type="checkbox" [checked]="person.is_adult">

Надеюсь это поможет!!