是否存在在模型更改后而不是更改之前触发的事件?每次设置复选框时,我都需要检查是否可以启用下一个按钮。因此,我遍历列表以检查是否选中了任何对象。但是,这些值是在ModelChange事件之后首先绑定的:
<tr *ngFor="let social of socialMediaList">
<td>{{social.name}}</td>
<td>
<input type="checkbox" (ngModelChange)="onSocialMediaChange($event)" type="checkbox" name="options"
[(ngModel)]="social.selected">
</td>
</tr>
我的js:
onSocialMediaChange($event) {
this.ageRangeList = null;
this.canContinueFromSocialNetwork = this.socialMediaList.filter((item) => item.selected === true).length>0;
}
答案 0 :(得分:1)
您可以将社交对象作为modelChange事件的一部分传递。在组件内部,使用事件可以检查是否选中了。
onSocialMediaChange(event, social){
console.log(this.socialMediaList);
social.selected = event;
this.canContinueFromSocialNetwork = this.socialMediaList.filter((item) => item.selected).length>0;
console.log(this.canContinueFromSocialNetwork);
}
答案 1 :(得分:1)
确保 ngModelChange 属性在 ngModel 属性之后。
<input
type="checkbox"
[(ngModel)]="social.selected" // 1st place
(ngModelChange)="onSocialMediaChange($event)" // 2nd place
name="options">
答案 2 :(得分:0)
在模块的导入中添加FormsModule
可以解决此问题。