首页 > 解决方案 > ngModelChange 在模型实际更改之前触发

问题描述

是否有一个事件在模型更改之后触发,而不是在更改之前触发?每次设置复选框时,我都需要检查是否可以启用下一个按钮。所以我遍历我的列表以检查任何对象被选中。但是,这些值在 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;
  }

标签: angular

解决方案


确保ngModelChange属性位于ngModel属性之后。

<input
  type="checkbox"
  [(ngModel)]="social.selected" // 1st place
  (ngModelChange)="onSocialMediaChange($event)" // 2nd place
  name="options">

推荐阅读