小程序监听左上角返回事件后处理一些逻辑
有得时候小程序在点击左上角返回的时候是需要改变一些只或者属性的,但是有监听不到用户点击了返回按钮,除非是自定义一个返回按钮,哎,我找到了一个方法,不多说直接用代码演示
这是A页面的wxml代码
<view class="conBoxText" ><view bindtap="changeText">点击跳转到B页面</view></view>
A页面的js代码
changeText(e) {wx.navigateTo({url: `/pages/A/index`,// 监听从/pages/B/index页面返回时携带的backData数据events: {// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据backFromTargetPage: function (backData) {if (backData.category && backData.currentTab) {// 监听到 /pages/B/index 返回调用接口that.refresh(backData.category, backData.currentTab)}}}})},
接下来就在B页面的onUnload函数里监听点击箭头事件返回一些数据
B页面的js
/*** 生命周期函数--监听页面卸载*/onUnload() {// 监听左上角点击箭头返回上一页面的事件监听const {category,currentTab} = this.data;app.globalData.targetPageEventChannel = this.getOpenerEventChannel()// 建议>=400毫秒setTimeout(function () {var t = getApp().globalData.targetPageEventChannelt ? t.emit('backFromTargetPage', { category,currentTab }) : console.log('not targetPage navigateBack, canceled')}, 400)},
这样一套下来就完美的监听到点击返回箭头事件并且也能接收到传递回来的参数
不知总结的怎么样,不好的话请多多指教