uni-app 使用vue-cli创建的APP项目 返回上一页会直接退出当前APP

uni-app 使用vue-cli创建的APP项目 返回上一页会直接退出当前APP

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

操作步骤:

  • uni.navigateTo 进入一个页面。APP点击导航返回上一页,就变成退出整个APP了

预期结果:

  • 返回上一页

实际结果:

  • 退出APP

bug描述:

使用vue-cli创建的APP项目,然后我们正常的

```javascript
uni.navigateTo({  
    url: '/pages/my/userInfo/userInfo'  
})
```
跳转一个页面,一般子页面是顶部导航是有返回按钮的。然后此时我们点击返回APP就直接退出去了,而不是返回到上一页,H5确实正常的。APP就直接返回到手机桌面了

更多关于uni-app 使用vue-cli创建的APP项目 返回上一页会直接退出当前APP的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

找到问题了
main.js 写了这个鬼东西 就错了 setTimeout(() => { plus.navigator.closeSplashscreen() const app = new Vue({ store, …App }) app.$mount() },2000)

更多关于uni-app 使用vue-cli创建的APP项目 返回上一页会直接退出当前APP的实战教程也可以访问 https://www.itying.com/category-93-b0.html


HX调试基座可以复现问题吗? 是使用的HX3.1.14版本吗

你好。我找到问题了,不是框架的问题,是代码的问题。谢谢。问题是我上面1楼写的

这是因为在 uni-app 中,使用 uni.navigateTo 跳转页面后,Android 设备的返回键默认行为是退出应用,而不是返回上一页。需要在页面中监听返回键事件,并手动处理返回逻辑。

在目标页面的 onLoadonReady 生命周期中添加以下代码:

onBackPress(options) {
  if (options.from === 'backbutton') {
    uni.navigateBack({
      delta: 1
    });
    return true; // 阻止默认返回行为
  }
}

或者,可以在 pages.json 中配置页面样式,启用原生导航栏的返回按钮:

{
  "path": "pages/my/userInfo/userInfo",
  "style": {
    "navigationBarTitleText": "用户信息",
    "app-plus": {
      "titleNView": {
        "autoBackButton": true
      }
    }
  }
}

如果使用自定义导航栏,需确保在返回按钮的点击事件中调用 uni.navigateBack()

// 在返回按钮的点击事件中
handleBack() {
  uni.navigateBack({
    delta: 1
  });
}
回到顶部