如何在Ionic 3中停止当前页面?

时间:2017-11-14 03:38:14

标签: cordova ionic-framework ionic3

根据Ionic 3文档,这应该有效:

ionViewWillLeave(): boolean {
    if (this.cantLeave) {
        let alert = this.alertCtrl.create({
            title: 'You can\'t leave',
            subTitle: 'You stay and work.',
            buttons: ['Oh sorry']
        });
        alert.present();
    }
    return this.cantLeave;
}

然而它并没有。警报出现,但页面仍会发生变化。但是在这里它表示return truereturn false会告诉Ionic继续更改页面或停止它。 http://ionicframework.com/docs/api/navigation/NavController/

我做错了什么?

1 个答案:

答案 0 :(得分:3)

您需要使用导航防护。 检查导航卫兵部分here

生命周期挂钩 ionViewCanLeave() 而不是ionViewWillLeave

ionViewCanLeave(): boolean {
    if (this.cantLeave) {
        let alert = this.alertCtrl.create({
            title: 'You can\'t leave',
            subTitle: 'You stay and work.',
            buttons: ['Oh sorry']
        });
        alert.present();
    }
    return this.cantLeave;
}