Ответ 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
.