使用 Angular 5.1.1,我试图在复选框更改时调用函数。此方法适用于text
类型,但对于checkbox
输入类型,即使未选中该框,它也始终将“ on ”的值发送到函数。谁能解释我做错了什么?
<input type="checkbox" name="enabled" [checked]="score?.enabled" #enabled (change)="OnFieldChanged(enabled.value)" />
这是组件
import { Component} from '@angular/core';
@Component({
selector: 'score',
templateUrl: './score.component.html',
styleUrls: ['./score.component.less']
})
export class ScoreComponent {
public score: IScore;
constructor() {
}
OnFieldChanged(value: string): void {
var fieldValue = value;
}
}
经过大量的试验和错误,我找到了解决方案。您必须将该字段应用于[(ngModel)]
. 简单地传递OnFieldChanged(judge)
也不起作用,因为布尔属性从未实际更新
<input type="checkbox" name="enabled" [checked]="score?.enabled" (change)="OnFieldChanged(judge.enabled)" [(ngModel)]="score.enabled" />
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句