Bagaimanakah Ionic bertanya kepada pengguna sebelum kembali ke halaman sebelumnya: Maklumat semasa telah diubah suai, adakah anda ingin mengesahkan untuk meninggalkan pengubahsuaian dan kembali? Jika pengguna memilih "Tidak", batalkan operasi pemulangan dan kekal pada halaman semasa?
Menulis kod untuk muncul kotak pertanyaan dalam acara $ionicView.beforeLeave nampaknya mustahil, kerana apabila peristiwa itu berlaku, ia telah kembali ke halaman sebelumnya. Dan saya tidak tahu cara membatalkan operasi lalai acara ini Menggunakan event.preventDefault() adalah tidak sah.
$rootScope.$on("$ionicView.beforeLeave", function (event, view) {
$ionicPopup.confirm({
title: "确认放弃修改",
template: "数据已经修改,是否确认放弃修改并返回?"
}).then(function (res) {
res || event.preventDefault();
});
});
Kod di atas boleh memunculkan kotak dialog pengesahan, tetapi apabila ia muncul, halaman itu telah meluncur ke halaman sebelumnya dan ia muncul terlambat. Dan event.preventDefault() adalah tidak sah dan tidak boleh menghalang halaman daripada keluar.
Hanya buat kotak timbul apabila bertanya soalan