为什么复选框不是对象字段的绑定值 (Angular 4)

Why checkbox is not binding value of object field (Angular 4)

我想在当前对象中绑定字段值,并根据它的值切换复选框。

我的复选框:

<label class="checkbox-inline checbox-switch switch-success">
<input
  #livingRoom
  type="checkbox"
  name="livingRoom"
  id="livingRoom"
  [checked]="showDefaultTypeRoom.isExistLivingRoom"
/>
<span></span>
</label>

我更改了 showDefaultTypeRoom 对象和 isExistLivingRoom 但我的复选框没有根据 isExistLivingRoom 值进行切换。

如何解决?

您应该使用 2 种绑定方式:

[(ngModel)]="showDefaultTypeRoom.isExistLivingRoom"

而不是:

[checked]="showDefaultTypeRoom.isExistLivingRoom"

使用:

<input type="checkbox" [(ngModel)]="test.value"/>

并且在 TS 中:

public test = {value: true};

在这里尝试: https://stackblitz.com/angular/demklkjdbqq

(或使用响应式样式)