uniapp 的返回事件 onBackPress 在微信小程序中不生效的问题


前言

使用 uniapp 开发微信小程序
页面中点击左上角的返回按钮,监听返回操作,页面返回前执行了一些操作, uniapp 页面生命周期中有 onBackPress ,因此将操作写在了 onBackPress () 页面生命周期钩子当中, H5 测试一切正常,但是微信开发工具中调试的时候发现没有执行

原因 : uniapp的onBackPress生命周期支持h5、app、支付宝小程序,返回到指定页面可以用。
但是注意 : uniapp的onBackPress生命周期是不支持微信小程序的


一、uniapp的onBackPress生命周期

onBackPress(e){
	console.log("监听返回按钮事件",e);
	//正常返回页面
	uni.navigateTo({
	 	url:"/pages/member/member"
	})
	//返回主页面tabBar
	uni.switchTab({
		url:"/pages/index/index"
	})
	// 此处一定要return为true,否则页面不会返回到指定路径
	return true;
},

二、使用 uniapp 中的 unload 生命周期代替

查阅相关技术文档,确认微信小程序现阶段并没有提供监听左上角返回事件的函数,查阅资料发现 uniapp 中的 onUnload 页面生命周期是支持微信小程序的,在当前业务中可以使用

 onUnload() {
        如果多端发布的话判断一下当前操作的客户端 
	//#ifdef MP-WEIXIN
	wx.reLaunch({
		url: '/pages/index/index'
	})
	//#endif
},

以下来自官网
在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐