首页 > 解决方案 > 当 ngModel 值为 true 时,Angular 6 复选框触发更改

问题描述

我有 ngFor,里面有复选框。

<input type="checkbox" name="checkbox-{{i}}"
  (change)="clickOn(test.fav)" [(ngModel)]="test.fav" />

当 test.fav 值为 true 时,clickOn()事件触发。以前有人遇到过这个问题吗?问候。

标签: angularcheckboxangular6angular-ngmodel

解决方案


使用reference复选框元素并传递值或使用ngModelChange

替换下面的代码

<input type="checkbox" name="checkbox-{{i}}" (change)="clickOn(test.fav)" [(ngModel)]="test.fav" />

经过

<input type="checkbox" name="checkbox-{{i}}" #test 
     (change)="clickOn(test.value)" [(ngModel)]="test.fav" />

或者

 <input type="checkbox" name="checkbox-{{i}}" #test 
     (ngModelChange)="clickOn($event)" [(ngModel)]="test.fav" />

推荐阅读