当离子列表项上的更改复选框状态点击时,更新数组中的对象



我有一个列表,每行都有一个复选框。我希望每当我点击复选框时,对象都需要根据复选框状态进行相应的更新,但使用下面的复选框时我会遇到异常,比如无法设置未定义或空引用的属性">checked"。有人能帮我吗?我在哪里做了mi堆栈

.ts:

export class Custom{
name: string
empoloyeeID: number
checked:boolean
}
export class CheckboxListPage {
contacts:Array<Custom> = [];
constructor(public navCtrl: NavController, public navParams: NavParams) {
let customObj1 = new Custom();
customObj1.empoloyeeID = 1;
customObj1.name = "Ramakrishna"; 
let customObj2 = new Custom();
customObj2.empoloyeeID = 2;
customObj2.name = "Ramakrishna2"; 
this.contacts.push(customObj1);
this.contacts.push(customObj2);
}
updateCucumber(contact){
this.contacts[contact.empoloyeeID].checked = !contact.checked;
}

.html:

<ion-content padding>
<ion-list>
<ion-item *ngFor="let contact of contacts" (click)="update(contact)">
<!-- <ion-avatar item-start>
<img src="imgs/img_snow.jpg">
</ion-avatar> -->
<ion-avatar item-left>
<img src="https://ionicframework.com/dist/preview-app/www/assets/img/marty-avatar.png">
</ion-avatar>
<h2>{{contact.name}}</h2>
<p *ngIf="contact.id===1;else other_content">your if block</p>
<ng-template #other_content><p>your else block1</p></ng-template>
<ion-row>
<ion-col col-2 no-padding no-margin>
<ion-item no-padding no-margin no-lines>
<ion-checkbox [(ngModel)]="contact.checked" (ionChange)="updateCucumber(contact)"></ion-checkbox>
</ion-item>
</ion-col>
<ion-col col-10 no-padding no-margin>
<ion-item no-padding no-margin no-lines>
Agree to <a target="_blank" href="http://www.terms-of-service.com">Terms of Service</a>
and <a target="_blank" href="http://www.privacy-policy.com">Privacy Policy</a>.
</ion-item>
</ion-col>
</ion-row>
</ion-item>

</ion-list>
</ion-content>

无需添加事件侦听器来更新模型(联系人(的值。因为您已经在html文件中绑定了(双向(该属性。

最新更新