2016-12-20 89 views
4

我想检查复选框是否在if和else语句中被选中或未选中。如何检查是否勾选复选框angular2

<md-checkbox id="mon" (change)="mon($event)" [checked]="true">Checked</md-checkbox> 



mon(e){ 
    if(e.target.checked){ 
     console.log("This is checked") 
    } else { 
     console.log("unchecked"); 
    } 
    } 

我觉得我这样做确实是错误的。我一直得到不能检查未定义。如何做到这一点?

回答

3

大家可以看一下材料复选框的源代码:

event.source = this; 
event.checked = this.checked; 

this._controlValueAccessorChangeFn(this.checked); 
this.change.emit(event); 

https://github.com/angular/material2/blob/2.0.0-alpha.11/src/lib/checkbox/checkbox.ts#L288-L292

所以,你可以不喜欢它:

mon(e){ 
    if(e.checked){ 
    console.log("This is checked") 
    } else { 
    console.log("unchecked"); 
    } 
} 
+0

哦,是啊,这angular2的东西:) –

+0

我们可以使用相同的? –

+0

@TusharKukreti它有什么问题?你自己尝试过吗? – yurzui

1

声明一个变量,把它称为过滤

filter: boolean= false; 

然后在html部分使用ngModel来访问并分配它的值。

<input type="checkbox" [(ngModel)]="filter" (click)="filterData()"> 

它会调用一个函数筛选数据(),你可以用它来完成所有的功能

filter(){ 
    this.filter = !this.filter;// this will change value of it true and false 
} 

更多的复选框就可以使用声明更多的变量像过滤器1:布尔

+0

这是为了当用户选择您复选框或取消选中您的复选框 –