模型更改时 Angular 4 复选框触发更改事件

标签 angular typescript checkbox angular-ngmodel

HTML

<input type="checkbox" id="1" [(ngModel)]="filter" (change)="onFilterChange($event)"> CheckBox

<button (click)="filter = !filter">Change Status</button>

TS

export class HelloWorld {

  filter : false;

  onFilterChange() {
    console.log('filter change called');
  }
}

当我直接点击check box时,change事件被触发。但是,当我单击“更改状态”按钮时,复选框状态正在更改,但未触发更改事件。有人可以告诉我该怎么做吗?

最佳答案

我们必须使用事件处理程序而不是双向绑定(bind)来实现此功能

<input type="checkbox" id="1"
       [ngModel]="filter" (ngModelChange)="onFilterChange($event)"> Checkbox

<button (click)="onFilterChange($event)">Change Status</button>  

在 TS 中,

export class HelloWorld {

  filter = false;

  onFilterChange(eve: any) {
    this.filter = !this.filter;
  }
}

关于模型更改时 Angular 4 复选框触发更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46647105/

相关文章:

type-conversion - SVG 的 beginElement() 方法属于哪个 TypeScript 类?

javascript - 基于复选框和下拉选择的细化列表

css - 删除 Jquery Mobile 复选框覆盖

angular - 在构建时设置 directional-scss 变量

javascript - Angular 2 RouterStateSnapshot 未返回正确的 url

angular - Nativescript radListView不显示项目

angular - 关闭最后一个选项卡后重定向到注销链接

angular - 如何使用 angular2 在正文上附加内容

angular - 为什么我的主题可观察订阅者在 Angular 中多次调用?

php - 到底什么时候进行 PHP-MySQL 变量赋值?