微信小程序,在返回前一个页面时,通过getCurrentPages()无法执行前一个页面的方法?
发布于 5 年前 作者 lsong 13797 次浏览 来自 问答

微信小程序,在返回前一个页面时,通过getCurrentPages()无法执行前一个页面的方法?打印前一个页面的方法显示undefined。

如A页面跳转到B,在B执行:

var pages = getCurrentPages(); //获取页面

let beforePage = pages[pages.length - 2]

console.log('上一个页面信息', beforePage)

beforePage && beforePage.handleOnShow()

其中handleOnShow()是在A中定义的函数,然后报错



1 回复

返回前一个页面 在前一个页面onShow里执行不就好了?

如果跳转到下个页面执行那个页面方法。可以用events

wx.navigateTo({
  url: 'test?id=1',
  events: {
    // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
    acceptDataFromOpenedPage: function(data) {
      console.log(data)
    },
    someEvent: function(data) {
      console.log(data)
    }
    ...
  },
  success: function(res) {
    // 通过eventChannel向被打开页面传送数据
    res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })
  }
})
回到顶部