我在角度绑定模型上遇到了一些麻烦:
我有两个清单(班级和学生)。在学生详细信息页面上,我要:
我没问题做2或3-但我不能两者都做。
<ion-list *ngFor="let cls of listOfAllClasses">
<ion-label>{{cls.name}}</ion-label>
<ion-toggle [(ngModel)]="cls.checked (ngModelChange)="pushClsToStudent(cls)">
</ion-toggle>
</ion-list>
Javascript:
pushClsToStudent(cls) {
cls.checked? this.student.classes.push(cls) : this.student.classes.filter(c => c.classId !== cls.classId)
问题是,它使角度触发两个事件(1.(ngModel)2.(ngModelChane)。但是我不知道如何绕过它。
提前非常感谢您!
首先()
从NgModel
指令中删除:
<ion-toggle [ngModel]="cls.checked" (ngModelChange)="pushClsToStudent($event, cls)">
这样,ion-toggle
的值将绑定到的值,cls.checked
并且pushClsToStudent(cls)
在您更改输入的值时将被触发。您需要在的函数中添加event
参数pushClsToStudent()
,以便捕获新值并将其分配给cls.checked
:
pushClsToStudent(event: any, cls: any) {
this.cls.checked = event;
...
}
笔记:
您缺少"
发布的代码,这会为您造成错误:
[(ngModel)]="cls.checked || [(ngModel)]="cls.checked"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句