Почему это для цикла цикла через элементы не указано?
Я создаю контрольный список с элементами и подпунктами. У меня есть кнопка для сброса всех флажков, и мне нужно проверить, все ли элементы отмечены, но НЕ подтемы.
Но мой контрольный код регистрирует ВСЕ поля контрольного списка, а не только элементы.
Вот шаблон:
<ion-list>
<ion-item *ngFor='let listitem of checkdetail.contents; let i=index'>
<ion-label class="mainitem" *ngIf="listitem.flavour === 'item'" text-wrap>{{listitem.content}}</ion-label>
<ion-checkbox color="primary" checked="false" *ngIf="listitem.flavour === 'item'" [(ngModel)]="item_ticks[i]" (ionChange)="updateTicks()"></ion-checkbox>
<ion-label class="subitem" *ngIf="listitem.flavour === 'subitem'" text-wrap>{{listitem.content}}</ion-label>
<ion-checkbox color="secondary" checked="false" *ngIf="listitem.flavour === 'subitem'" [(ngModel)]="subitem_ticks[i]" ></ion-checkbox>
</ion-item>
</ion-list>
И вот код:
item_ticks = [];
subitem_ticks = [];
updateTicks() {
for(var item of this.item_ticks){
console.log(item);
}
}
resetTicks() {
let alert = this.alertCtrl.create({
title: 'Reset?',
message: 'Are you sure?',
buttons: [
{
text: 'Cancel',
role: 'cancel',
handler: () => {
console.log('Cancel clicked');
}
},
{
text: 'Reset',
handler: () => {
for (var i = 0; i < this.item_ticks.length; i++){
this.item_ticks[i] = false;
}
for (var i = 0; i < this.subitem_ticks.length; i++){
this.subitem_ticks[i] = false;
}
let toast = this.toastCtrl.create({
message: 'Checklist reset',
duration: 1000,
position: 'top'
});
toast.present();
}
}
]
});
alert.present();
}
Почему цикл в updateTicks() отключает и this.item_ticks И this.subitem_ticks?