收藏
回答

wx.navigateBack()造成小程序退出问题。

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.navigateBack(Object object) 客户端 7.0.4 2.6.1及2.7.3

- 机型:iPhone XR

- 当前 Bug 的表现(可附上截图)

    点击左上角回退按钮在onUnload生命周期中和自定义回退函数goback()中wx.navigateBack()均造成关闭小程序现象。

    delta参数的值根据页面栈获取,依旧造成此现象。

- 预期表现

    回退至首页,不需要关闭小程序操作。

- 复现路径

    

- 提供一个最简复现 Demo

    代码片段:https://developers.weixin.qq.com/s/MNYtzymR7Z9Y


- 第一页代码

<view class="intro">index页面(第一页html)</view>
<button bindtap='tiaoz'>跳转</button>
// index页面js(第一页js)
Page({
  data: {
 
  },
  onLoad: function () {
       
  },
    tiaoz(){
        wx.navigateTo({
            url: '../home/index',
        })
    }
})

- 第二页代码

<text>home页面(第二页html)</text>
<button bindtap='goback'>回退</button>
// home页js(第二页js)
Page({
    goback(){
        wx.navigateBack({
            delta:10
        })
    },
    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {
        wx.navigateBack({
            delta:10
        })
    },
})


最后一次编辑于  2019-07-02
回答关注问题邀请回答
收藏

1 个回答

  • TNT
    TNT
    2019-07-02

    麻烦提供下可复现的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)以及出现问题的机型 客户端版本号

    2019-07-02
    有用
    回复 6
    • 景阳师叔祖
      景阳师叔祖
      2019-07-02

      https://developers.weixin.qq.com/s/MNYtzymR7Z9Y

      2019-07-02
      回复
    • 是小白啊
      是小白啊
      2019-07-02回复景阳师叔祖

      这里有执行了导致的

      2019-07-02
      回复
    • 景阳师叔祖
      景阳师叔祖
      2019-07-03回复是小白啊

      此API不能在onUnload生命周期里面使用?就算在这里用也不应该关闭小程序吧。

      2019-07-03
      回复
    • 燚
      2019-07-03回复景阳师叔祖

      wx.navigateBack会触发当前page的unload生命周期,你又在onunload里调用wx.navigateBack,本意就是想搞跨它吧,所以他跨了

      2019-07-03
      1
      回复
    • 景阳师叔祖
      景阳师叔祖
      2019-07-03回复

      没时间来搞垮这个东西!A,B,C,D,E。5个页面,我在D页面要关闭D,C页面并到达E页面,然后在E页面点击左上角回退到B页面,操作页面栈又没用,就只能在onUnload里面调navigateBack回退2级,然后这个东西直接关闭小程序。

      2019-07-03
      回复
    查看更多(1)
登录 后发表内容