uniapp监听物理返回按钮事件
1. uniapp监听物理返回按钮事件
uniapp 监听页面返回功能有使用onBackPress方法和使用onUnload方法。
1.1. 使用onBackPress方法
在uniapp中,可以使用onBackPress方法来监听页面返回事件。这个方法与onLoad等生命周期方法同级,可以监听左上角返回按钮或android返回键的点击事件具体实现步骤如下:
(1)在需要监听返回事件的页面中,添加onBackPress方法。
(2)在onBackPress方法中,通过event.from属性判断返回事件的来源。
(3)根据不同的来源,执行相应的返回操作。
1.2. 使用onUnload方法
对于不支持onBackPress方法的平台,如微信小程序,可以使用onUnload方法来监听页面卸载事件。当页面关闭时,onUnload方法会被执行。可以在onUnload方法中,通过uni.setStorageSync方法存储一个变量,然后在需要返回的页面中,通过uni.getStorageSync方法判断缓存中是否存在该变量。如果存在,则跳转到指定页面,并删除缓存中的变量;如果不存在,则执行默认的返回操作。具体实现步骤如下:
(1)在需要监听返回事件的页面中,添加onUnload方法。
(2)在onUnload方法中,使用uni.setStorageSync方法存储一个变量。
(3)在需要返回的页面中,使用uni.getStorageSync方法判断缓存中是否存在该变量。
(4)根据判断结果,执行相应的返回操作。
1.3. 示例代码
开发中需要用户使用手机自带返回(物理返回)时跳出弹窗询问是否保存。在需要触发截停返回的页面中使用。开发中需要用户使用手机自带返回(物理返回)时跳出弹窗询问是否保存。在需要触发截停返回的页面中使用onBackPress生命周期。
onBackPress(e) {console.log('e', e)// backbutton:物理按键返回if (e.from === 'backbutton') {// 唤醒保存询问弹窗this.back()// 阻止返回return true }},