html中单选框用法如下,checked用来选中默认的单选项:
<input type="radio" name="sex" value="male" checked>Male
<input type="radio" name="sex" value="female">Female
如果使用[(ngModel)]绑定后,checked就不再生效,此时默认选中项与绑定的sex值相关,设置ngmodel绑定的sex值即可
sex:string='male'
<input type="radio" name="sex" [(ngModel)]="sex" value="male">Male
<input type="radio" name="sex" [(ngModel)]="sex" value="female">Female
选中某单选框后触发事件,有三种方法
1.添加(click)事件,#male和#female是ng2中的模板变量
<input type="radio" name="sex" (click)="print(male.value)" value="male" #male checked>male
<input type="radio" name="sex" (click)="print(female.value)" value="female" #female>female
2 万能的 ngModel和ngModelChange方法,当使用ngModel时,如果用绑定的sex传值必须使用ngModelChange,因为选中单选项后,(click)执行要早于ngModelChange,所以此时(click)中传入的值还是未绑定的旧值;如果使用模板变量则不存在这个问题。
<input type="radio" name="sex" [ngModel]="sex" (ngModelChange)="sex=$event;print(sex)" value="male">Male
<input type="radio" name="sex" [ngModel]="sex" (ngModelChange)="sex=$event;print(sex)" value="female">Female
3.原生的change方法也可以