如何显示 alert
,用户必须在返回上一页之前关闭?我正在使用标准 <ion-navbar *navbar>
箭头按钮。
我尝试连接到 NavController
事件 ionViewWillLeave
像这样,但它不起作用:
ionViewWillLeave() {
let alert = Alert.create({
title: 'Bye',
subTitle: 'Now leaving',
buttons: ['OK']
});
this.nav.present(alert);
}
这会显示警报,但一旦关闭就不会返回。如果我将其注释掉,后退按钮可以正常工作。
最佳答案
公认的解决方案在 RC3 中不起作用,这是一个使用 Nav Controller 的新解决方案的导航卫队:
ionViewCanLeave(): Promise<void> {
return new Promise((resolve, reject) => {
let confirm = this.alertCtrl.create({
title: 'Are you sure?',
message: 'Bunnies will die :(',
buttons: [{
text: 'OK',
handler: () => {
resolve();
},
}, {
text: 'Cancel',
handler: () => {
reject();
}
}],
});
confirm.present();
})
}
如果您在导航 Controller 上使用 push() 导航,您还需要对其进行捕获,否则它会抛出未处理的错误:
this.navCtrl.push(SomePage).catch(() => {});
关于angular - 使用 Ionic v2 在离开页面(返回)之前发出警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37955114/