我的每一行都有一个列表和一个复选框。我希望每当我点击一个复选框时,对象都需要相应地根据复选框状态进行更新,但是当我点击复选框时使用下面的我得到异常,例如无法设置未定义或空引用的属性“已选中”可以有人请帮帮我,我在哪里做 mi-stack
.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>