2017-10-09 75 views
1

HTML角4复选框触发更改事件

<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'); 
    } 
} 

当我直接点击复选框更改事件被触发。但是当我点击“更改状态”按钮复选框状态正在改变,但改变事件不会触发。有人可以让我知道如何做到这一点?

回答

7

我们必须实现与事件处理程序这个功能,而不是与2路结合

<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; 
    } 
} 
+0

我这个试过了,仍然没有工作 –

+0

@PratapA。 K你的onFilterChange期望一个参数,检查更新的答案 – Sajeetharan

+0

仍然不工作!如果它适合你,你可以给我一个plnkr吗? –