当我尝试将值推入数组时出现错误。该错误的神秘之处在于,它仅在Ionic Dev App上发生,而在Google Chrome控制台中,一切运行正常。
我确实初始化了数组,所以错误不是从这里来的。也许错误是由于异步操作引起的,但是我看不到我没有兑现承诺的地方...
initModelesList(){
this.addModele = this.navParams.get('addModele') || false;
this.deleteModele = this.navParams.get("deleteModele") || false;
if (!!this.addModele){
this.modelesList.push(this.addModele); //error here
this.saveModelesList();
}
if (!!this.deleteModele){
const index: number = this.modelesList.indexOf(this.deleteModele);
if (index !== -1){
this.modelesList.splice(index,1)
}
this.saveModelesList()
}
}
saveModelesList(){
this.storage.set('modelesList',this.modelesList)
}
getModelesList(){
this.storage.get('modelesList').then((modelesList) => {
this.modelesList=modelesList;
this.initModelesList()
},()=>{
this.modelesList=[];
this.initModelesList();
})
}
这是Ionic Dev App上错误的屏幕截图。
答案 0 :(得分:1)
请确保您已初始化 modelesList
您可以显式检查它是否不为null并根据需要创建一个:
this.modelesList= this.modelesList|| [];