Typescript 选中复选框仅显示警报一次
我有一个复选框,我可以检查,然后显示一个警报,我问他们是否确实知道。因此,当他们在警报上达成一致时,所有的练习都将结束 问题:我设置了一个本地存储项目Typescript 选中复选框仅显示警报一次,typescript,ionic2,localforage,Typescript,Ionic2,Localforage,我有一个复选框,我可以检查,然后显示一个警报,我问他们是否确实知道。因此,当他们在警报上达成一致时,所有的练习都将结束 问题:我设置了一个本地存储项目didAllExercises,因此当我重新打开应用程序时,我会得到这个项目,如果这是真的,则将复选框设置为真,但我的复选框上有一个(onChange)事件,并检查复选框是否选中而不是显示警报。因此,每当我重新打开应用程序时,警报就会显示,didAllExercises项为true 下面是复选框: 这是我的作弊按钮(): 在这里,我调用ionVie
didAllExercises
,因此当我重新打开应用程序时,我会得到这个项目,如果这是真的,则将复选框设置为真,但我的复选框上有一个(onChange)事件
,并检查复选框是否选中而不是显示警报。因此,每当我重新打开应用程序时,警报就会显示,didAllExercises
项为true
下面是复选框:
这是我的作弊按钮()
:
在这里,我调用ionViewWillEnter
中的getItem方法:
localForage.getItem('didAllExercises', (err, value) => {
if(value){
this.cheatCheckbox = true;
}
})
如何解决此问题,使其仅在单击警报后显示警报,然后重新打开应用程序并将复选框设置为true,而不显示相同的警报???而不是ionViewWillEnter
,我将在构造函数中调用localfower.getItem
。如果这不能解决您的问题,您可以使用一个名为checkBoxInitialized的标志,在构造函数中将其初始化为true,然后按如下方式使用它:
localForage.getItem('didAllExercises', (err, value) => {
if(value){
this.cheatCheckbox = true;
} else {
this.cheatCheckbox = false;
}
this.checkBoxInitialized = false;
})
然后将按钮修改为:
cheatButton(cheatCheckbox: boolean){
if(cheatCheckbox && this.checkBoxInitialized){
...
}else
this.checkBoxInitialized = true;
顺便问一下,为什么要将cheatCheckbox
作为参数传递给cheatButton
?你总是可以使用this.cheatCheckbox
你是说设置this.cheatCheckbox=true在localfower.getItem
中的code>触发你的cheatButton
功能?@Ari是的cheatButton
功能由true上的复选框触发,但如果我重新打开应用程序并完成所有练习,那么value=true
将再次显示警报
cheatButton(cheatCheckbox: boolean){
if(cheatCheckbox && this.checkBoxInitialized){
...
}else
this.checkBoxInitialized = true;