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

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐