我有一个复选框,我可以检查它,然后在我询问他们是否肯定知道的地方显示一个警报。因此,当他们同意警报时,所有练习都将完成。
问题:我设置了一个本地存储项目didAllExercises
,所以当我重新打开应用程序时,我得到了这个项目,如果这是真的,则将复选框设置为 true,但我的复选框(onChange) event
上有一个并检查复选框是否被选中而不是显示警报。因此,每当我重新打开应用程序并且该项目didAllExercises
为真时,都会显示警报
这是复选框:<ion-checkbox checked="false" [(ngModel)]="cheatCheckbox" (ionChange)="cheatButton(cheatCheckbox)"></ion-checkbox>
这是我的cheatButton()
:
cheatButton(cheatCheckbox: boolean){
if(cheatCheckbox){
localForage.setItem("showAlert", true);
console.log('ccTrue', cheatCheckbox);
//DONT SHOW ALERT WHEN ALLEX ARE DONE AND YOU CLOSE AND OPENS THE APP AGAIN AND NAVIGATE TO OEFENINGEN
setTimeout(() => {
localForage.getItem("showAlert", (err, value) => {
if(value){
this.showAlert = value;
console.log('!notRun', value);
}
})
},400)
setTimeout(() => {
let alert = this.alertCtrl.create({
title: 'Voltooi alle oefeninen',
message: 'Weet je zeker dat je alle oefeningen gedaan hebt?',
buttons: [
{
text: 'Nee',
role: 'cancel',
handler: () => {
console.log('Cancel clicked');
this.cheatCheckbox = false;
}
},
{
text: 'Ja ik weet het zeker!',
handler: () => {
this.allExercisesDone = true;
localForage.setItem('didAllExercises', [true, this.data]);
}
}
]
});
alert.present();
},400)
}
}
getItem method
在这里我称之为ionViewWillEnter
:
localForage.getItem('didAllExercises', (err, value) => {
if(value){
this.cheatCheckbox = true;
}
})
如何解决此问题,以便仅在您单击它后才显示警报,然后重新打开应用程序并将复选框设置为 true 而不显示相同的警报?