Cordova Ionic3 swipeBack无法跨应用程序工作

Cordova Ionic3 swipeBack无法跨应用程序工作,cordova,ionic-framework,ionic3,Cordova,Ionic Framework,Ionic3,我的app.module.ts@NGModule imports中有这个 BrowserModule, IonicModule.forRoot( MyApp, { //backButtonText: '', swipeBackEnabled: true, statusbarPadding: false, } ), 在我希望swipeback正常工作的组件中运行此命令将导致“真正的” console.log('swipeback ' + this.n

我的app.module.ts@NGModule imports中有这个

    BrowserModule,
IonicModule.forRoot(
  MyApp, 
  {
    //backButtonText: '',
    swipeBackEnabled: true,
    statusbarPadding: false,
  }
),
在我希望swipeback正常工作的组件中运行此命令将导致“真正的”

console.log('swipeback ' + this.navCtrl.swipeBackEnabled);
但是,无论是在浏览器中,还是在xCode模拟器中,还是在ios设备中,swipeback功能都不起作用

就swipeBackEnabled值被应用程序中其他地方覆盖的可能性而言,项目范围内的搜索会导致其他0次出现swipeBackEnabled,因此该值不太可能被覆盖

我尝试过的另一种调试方法是记录以下内容:

console.log('swipeBackEnabled ' + this.navCtrl.swipeBackEnabled);
console.log('canGoBack ' + this.navCtrl.canGoBack());
console.log('canSwipeBack ' + this.navCtrl.canSwipeBack());
这是真、假、假的结果

因此,canGoBack()会导致false,即使导航堆栈有上一页,并且会显示“后退”按钮,如果单击,则会将用户返回到上一页


根据ionic NavController文档,canSwipeBack()仅在swipeBackEnabled为true且canGoBack为true时返回true,并且由于它们为true/false或true/true,因此返回false…

您需要这样启用它:

ionicModule.forRoot(MyApp, { swipeBackEnabled: true })

对不起,在系统上,它实际上被设置为true,我只是为了测试而将其更改为false。不管swipeBackEnabled值是什么,它都会继续提供一个控制台消息true。让我按照如下步骤更新代码:
swipeBackEnabled
仅影响本机iOS: