Saya sedang mengembangkan aplikasi pasar virtual. Saya menjalankan acara di menu tab ketika saya menghapus keranjang. Tapi acara ini berfungsi dua kali. Pertama kali saya membuka program ini, ini hanya berfungsi sekali, tetapi ketika saya mengulangi operasi yang sama untuk kedua kalinya, acara tersebut berfungsi dua kali. Bagaimana cara mengatasi masalah ini? Saya Berbagi Kode. Kode Keranjang:
presentConfirm(){
let alert = this.alertCtrl.create({
title : 'Sepet Temizlensin mi?',
message : 'Sepetteki tüm ürünleri silmek istiyor musunuz?',
buttons : [
{
text : 'Hayır',
role : 'cancel'
},
{
text : 'Evet',
handler : () => {
this.sepetiSil();
}
}
]
});
alert.present();
}
sepetiSil(){
let loader = this.loader.create({
content : "Lütfen bekleyiniz.."
});
let header = new Headers();
header.append("Content-Type","application/json");
header.append("Accept","application/json");
var base_url = "xxxxxxxxx/xxx";
var veri = JSON.stringify({
BELGEID : this.globalBelgeID
});
loader.present();
this.http.post(base_url, veri, header).map(res=>res.text()).subscribe(data=>{
this.sepetArray.pop();
this.MIKTARMODEL.pop();
this.URUNTUTARMODEL.pop();
this.TOPLAMTUTAR = 0;
this.events.publish('sepet:sayacsifirla');
var mesaj = "Sepet başarıyla temizlendi.";
loader.dismissAll();
this.mesajOlustur(mesaj);
},(error)=>{ loader.dismissAll(); this.sepetiSil(); });
}
Kode Tab:
this.events.subscribe('sepet:sayacsifirla',()=>{
this.SEPETSAYISI = 0;
this.dizi.pop();
this.SEPETURUNLER.pop();
console.log(this.dizi);
console.log("SAYAÇ SIFIRLANDI VE YÖNLENDİRİLME YAPILDI");
this.app.getRootNav().setRoot(TabsPage);
});
Seperti yang Anda lihat, acara ini berfungsi dua kali
sepetiSil()
dipanggil? - person Suraj Rao   schedule 19.09.2017