首页 > 解决方案 > navCtrl.pop 和 navCtrl.removeView 删除 iphone 上的错误页面

问题描述

我们使用的是 Ionic 3.9.2,并且在 iPhone 上遇到了奇怪的间歇性错误。

在特定页面上,调用时this.navCtrl.pop()(由用户单击关闭按钮触发),它会删除其下方的页面(包括根页面),但不会删除特定页面本身。当用户再次点击关闭时,会触发这些错误:

您不能删除导航堆栈中的所有页面。nav.pop() 可能被调用了太多次

未处理的 Promise 拒绝:导航堆栈至少需要一个根页面

我尝试用 pop() 方法替换,this.navCtrl.removeView(this.viewCtrl, { animate: false });但仍然有同样的问题。

有没有其他人遇到过这样的错误?

标签: iosionic-frameworkionic3

解决方案


这个页面是推送的吗?还是设置为root?要使用 .pop(),必须推送页面

也许?

从 'ionic-angular/components/app/app' 导入 { App };

/* define in constructor */
constructor(public platform: Platform, app: App){
    this.platform.ready().then(() => {
        this.platform.registerBackButtonAction(() => {
            app.navPop();
        });
    })       
}

推荐阅读