返回顶部
首页 > 资讯 > 移动开发 >微信小程序页面返回操作拦截
  • 868
分享到

微信小程序页面返回操作拦截

微信小程序小程序 2023-09-07 07:09:44 868人浏览 泡泡鱼
摘要

返回操作包括三种情形,右滑手势、安卓物理返回键和调用 navigateBack 接口 微信小程序没有提供类似 onBackPress 监听页面返回的api,在某些特定场景下,业务收到了限制 为了解决这

返回操作包括三种情形,右滑手势、安卓物理返回键和调用 navigateBack 接口
微信小程序没有提供类似 onBackPress 监听页面返回的api,在某些特定场景下,业务收到了限制

为了解决这一限制,本文提供了两种较为常用的解决方案

方案一

重写navigationBar

目的是重写左上角返回按钮,可以加入自己的业务判断拦截
首先要在 pages.JSON 文件加配置

"navigationStyle": "custom", // 使用自定义 navigationBar

业务代码

<view @click="back">navigationBar返回</view>back() {// 满足条件时才返回页面if(flag) {uni.navigateBack()}else {// todo ...}}

这种方式比较简单,但有个缺点:
只能监听左上角返回按钮,iOS右滑手势、安卓物理返回键监听不到;
所以此方案只适用于简单地业务场景

方案二

使用页面容器组件 page-container

小程序如果在页面内进行复杂的界面设计(如在页面内弹出半屏的弹窗、在页面内加载一个全屏的子页面等),用户进行返回操作会直接离开当前页面,不符合用户预期,预期应为关闭当前弹出的组件。
为此提供“假页”容器组件,效果类似于 popup 弹出层,页面内存在该容器时,当用户进行返回操作,关闭该容器不关闭页面。

在页面内容外组件 page-container 组件
业务代码

<view class="page"><view class="main">// 页面内容...</view><page-container :show="showContainer" :duration="false" :overlay="false" @beforeleave="beforeleave">// 此组件用作页面返回拦截</page-container></view>beforeleave() {if(this.showContainer) {// 拦截页面返回,可加入自己的业务逻辑// 业务代码...// ...// ...this.showContainer = false}}
  • 业务代码需判断 showContainer 状态,控制 page-container 显示或隐藏;
  • 当 page-container 显示时,返回操作不会关闭页面,而是关闭 page-container 容器;
  • 当 page-container 隐藏时,返回操作则是关闭页面;

方案二可用在大多数业务场景,解放了业务限制,所以推荐使用方案二

如果觉得有用随手点个赞吧,谢谢
关注我,不定时分享技术干货~

来源地址:https://blog.csdn.net/weixin_45295253/article/details/129993578

--结束END--

本文标题: 微信小程序页面返回操作拦截

本文链接: https://lsjlt.com/news/397844.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 微信小程序页面返回操作拦截
    返回操作包括三种情形,右滑手势、安卓物理返回键和调用 navigateBack 接口 微信小程序没有提供类似 onBackPress 监听页面返回的api,在某些特定场景下,业务收到了限制 为了解决这...
    99+
    2023-09-07
    微信小程序 小程序
  • 微信小程序如何禁止页面返回
    微信小程序禁止页面返回的案例:微信小程序中不允许用户返回上一页的操作代码。//用wx.redirectTo来做跳转页面wx.redirectTo({url: '/pages/index/index'})移动端小程序...
    99+
    2024-04-02
  • 微信小程序怎么制作api拦截器
    这篇“微信小程序怎么制作api拦截器 ”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序怎么制作api拦截器 ”文章吧...
    99+
    2023-06-26
  • 微信小程序阻止页面返回(包滑动、自动返回键)
    这个场景还是挺有意思的,比如某多多,只要你点左上角的返回 好家伙,满满又 花不了 的优惠券就来了,让你拥有一种消费最划算的感觉。 如果你的场景比较简单,只是对左上角的返回进行监听,只需要关闭自带的导航栏,手写导航栏或用ui库的写好的导航栏就...
    99+
    2023-09-12
    微信小程序 小程序 vue.js 前端 vue
  • 微信小程序返回某个页面怎么设置
    设置微信小程序返回某个页面的方法:回退上一级页面,代码示例:var pages = getCurrentPages(); //当前页面var beforePage = p...
    99+
    2024-04-02
  • 微信小程序 -- 阻止小程序返回
    本次项目为uniapp开发,原生小程序也可以参考这两个方法。 方法1: wx.enableAlertBeforeUnload onLoad中声明 wx.enableAlertBeforeUnload(...
    99+
    2023-09-11
    微信小程序 小程序 前端
  • 微信小程序 操作完当前页面会,自动返回上一级页面,上一级页面自动刷新
    小程序页面有5个声明周期: 是由onLoad(页面加载)、onReady(页面初次渲染完成)、onShow(页面显示)、onUnload(页面卸载)   实现返回上一页的时候 其实是直接将隐藏的页面显示出来,所以不存在页面的再次加载 A页...
    99+
    2023-10-06
    微信小程序 小程序 前端 javascript
  • 如何实现微信小程序页面返回顶部效果
    这篇文章主要为大家展示了“如何实现微信小程序页面返回顶部效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现微信小程序页面返回顶部效果”这篇文章吧。效果预...
    99+
    2024-04-02
  • 微信小程序中如何使用wx.navigateTo返回到原页面
    这篇“微信小程序中如何使用wx.navigateTo返回到原页面”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“微信小程序中如何使用wx.navigateTo返回到原页面”,小编整理了以下知识点...
    99+
    2023-06-26
  • 微信小程序页面如何跳回主页
    微信小程序页面跳回主页的方法:微信小程序页面跳转是通过navigator来实现的,而navigator是通过它的属性open-type的合法值,因此在wxml页面中设置open-type的合法值来选择跳转方式。<navigator&n...
    99+
    2024-04-02
  • 微信小程序怎么实现返回上一页
    这篇文章主要介绍了微信小程序怎么实现返回上一页的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序怎么实现返回上一页文章都会有所收获,下面我们一起来看看吧。一、方法罗列函数说明navigator保留当前页面...
    99+
    2023-07-02
  • 微信小程序中如何实现返回tabBar不刷新页面
    这篇文章主要介绍微信小程序中如何实现返回tabBar不刷新页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、在一个项目中,遇到了这个场景:返回tabBar中的某个页面是需要保存数...
    99+
    2024-04-02
  • 微信小程序如何返回箭头跳转到指定页面
    这篇文章主要介绍微信小程序如何返回箭头跳转到指定页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!示例:onUnload: function () { ...
    99+
    2024-04-02
  • 如何封装微信小程序http拦截器
    这篇文章主要为大家展示了“如何封装微信小程序http拦截器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何封装微信小程序http拦截器”这篇文章吧。前言微信小...
    99+
    2024-04-02
  • 微信小程序返回上一页的各种方法
    微信小程序返回上一页的各种方法 1. navigator 这是最常见的一种跳转方式,相当于html里的a标签。但需要注意的是 该方法不能跳转tabbar页面,保留当前页面,在wxml使用 内容 2. wx.navigateTo 通过构造js...
    99+
    2023-08-19
    微信小程序 javascript 小程序 前端
  • 【微信小程序】认识小程序页面
    ✅作者简介:大家好我是hacker707,大家可以叫我hacker,新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 ...
    99+
    2023-09-06
    微信小程序 javascript
  • 小程序web-view页面如何返回小程序
    小程序web-view页面返回小程序的方法:用navigateTo跳转可以返回,代码:// <script type="text/javascript" src="https...
    99+
    2024-04-02
  • 微信小程序怎么返回数据
    本文小编为大家详细介绍“微信小程序怎么返回数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序怎么返回数据”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。数据分析接口开发者通过数据分析接口,可获取到小程序...
    99+
    2023-06-26
  • 微信小程序页面返回传值的4种解决方案汇总
    目录使用场景解决方案1、使用globalData实现2、使用本地缓存Storage实现3、使用小程序的Page页面栈实现4、使用wx.navigateTo API的events实现总...
    99+
    2024-04-02
  • 微信小程序如何制作欢迎页面
    这篇文章主要为大家展示了“微信小程序如何制作欢迎页面”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序如何制作欢迎页面”这篇文章吧。微信小程序欢迎页面:先...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作