Javascript 为什么mat复选框在*内表示无法从模型中获取最新的[checked]值? >>>>>>>>第2行>>>>{{item.checkedRunChecked}}

Javascript 为什么mat复选框在*内表示无法从模型中获取最新的[checked]值? >>>>>>>>第2行>>>>{{item.checkedRunChecked}},javascript,angular,angular-material2,Javascript,Angular,Angular Material2,上述代码中的第2行始终与其他地方所做的更改保持同步 但是,mat复选框不会更新为true/false。这里失去了背景。即使*ngFor正在为每个迭代创建子上下文,当第2行能够选择最新更新时,为什么mat复选框不能同步 我注意到的一件事是,如果item.checkedRunChecked的初始值为false,并且如果将其更改为true,则选中mat复选框。但是,进一步将item.CheckedRunChecked从true切换到false或从false切换到true不会产生任何影响 这个问题可以在

上述代码中的第2行始终与其他地方所做的更改保持同步

但是,mat复选框不会更新为true/false。这里失去了背景。即使*ngFor正在为每个迭代创建子上下文,当第2行能够选择最新更新时,为什么mat复选框不能同步

我注意到的一件事是,如果item.checkedRunChecked的初始值为false,并且如果将其更改为true,则选中mat复选框。但是,进一步将item.CheckedRunChecked从true切换到false或从false切换到true不会产生任何影响

这个问题可以在这里复制

请有人提出建议。

改变这一点:

<ng-container *ngFor="let item of items">
     >>>>>>>>LINE 2>>>>>>>>>> {{item.checkedOrUnchecked}}
     <mat-checkbox [checked]="item.checkedOrUnchecked"></mat-checkbox>


下面是它的工作示例,请看一下:


您的演示有以下问题:

问题:

1) 缺少
let i=索引来自
*ngFor=“属性的let属性;let i=index;”

2) 因此,没有从这里传递正确的值
saveProperty($event,i)

3)
this.properties[index][key]=property[key]
property[key]
字符串
不是
布尔值
,因此需要转换为布尔值

已解决:

更改此项:

<ng-container *ngFor="let item of items">
     >>>>>>>>LINE 2>>>>>>>>>> {{item.checkedOrUnchecked}}
     <mat-checkbox [checked]="item.checkedOrUnchecked"></mat-checkbox>


下面是它的工作示例,请看一下:


您的演示有以下问题:

问题:

1) 缺少
let i=索引来自
*ngFor=“属性的let属性;let i=index;”

2) 因此,没有从这里传递正确的值
saveProperty($event,i)

3)
this.properties[index][key]=property[key]
property[key]
字符串
不是
布尔值
,因此需要转换为布尔值


已解决:

@nsk,我还创建了一个演示,请检查更新的答案。我的演示中更新了问题,我在哪里遇到了EventEmitter等的实际问题。@nsk,我还创建了一个演示,请检查更新的答案。我的演示中更新了问题,我在哪里遇到了EventEmitter等的实际问题。
[(ngModel)]="item.checkedOrUnchecked"