小程序监听android返回键,如何监听小程序返回按钮事件?

写在前面

为了能及时的将自己踩到的前端坑(包括ionic,angular,react,ReactNative,小程序,APICloud)分享给大家,以后会逐渐将文章转移到微信公众号:前端e家(front_e_family)。可直接扫码关注,公众号会不定期更新新文章,分享踩坑笔记!期待您的关注!

应用场景:

通常情况下,在关闭当前页面时需要同时触发默写方法,最常见的有一下两种场景:

场景1.点击返回按钮时,发送广播,刷新某个页面的值或者触发某个页面的结果,重新刷新;

场景2.点击返回按钮,返回到指定页面,而非上个页面;

目前实现:

翻阅所有小程序的官方文档,尚未支持监听返回按钮的事件,因此如果想让

上述场景1中的刷新其他指定页面、或者请求其他页面接口,不过也可采用其他方法实现这个功能。

上述场景2中点击返回按钮时返回到指定页面就不能像原生那样自定义返回按钮的事件那样自由。不过也可采用其他方法实现这个功能。请继续阅读下文:

方案思路:

场景1的思路: 只能将该接口提出到公共JS文件中,再利用微信数据的双向绑定特点进行处理。

场景2的思路: 结合页面的生命周期事件实现跳转指定页面

示例代码:

场景1刷新指定页面数据,就不在详细说明,如果还没有思路的请在下方留言哈。

场景2示例代码,及讲解

/**

* 页面的初始数据

*/

data: {

clickFlag:false,

},

onUnload: function () {//如果页面被卸载时被执行

this.gotoHomePage();

},

gotoHomePage: function () {//自定义页面跳转方法

let that = this;

//------------------

if (that.data.clickFlag) {

return;

} else {

that.setData({ clickFlag: true });

}

//------------------

wx.switchTab({

url: '../home/home',

})

},

代码解析:

大家看了上述代码最有疑问的地方可能是gotoHomePage()函数中的条件判断,这里解释一下这个判断的作用。

这个判断主要作用:如果页面中同时存在一个按钮与返回按钮的作用一样,不是返回到上一页面,而是指定到某个页面时,此时如果省略该条件处理将会发生什么事情呢?

点击我返回到home

onUnload: function () {//如果页面被卸载时被执行

this.gotoHomePage();

},

gotoHomePage: function () {//自定义页面跳转方法

wx.switchTab({

url: '../home/home',

})

},

1.如果点击返回按钮,页面会正常返回到指定页面;

2.如果点击了页面的中按钮跳转,将会变成死循环;

因此这种场景一定要添加一个条件处理。

如果你有更不事时功来这制请例在屏随会和时实于幻近支好的解决方案欢迎留言讨论,上述内容纯属个人见解,如有不当之处,能调页代事求都学是功发解开宗这维视如间请前框来总在行回断元随来以4移和泉果动标实效使欢迎指教哦!

本文来源于网络:查看 >https://blog.csdn.net/li11_/article/details/81453696

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mix2s 升级android p,小米推送小米MIX2S 安卓P稳定版更新 这两个隐藏升级你发现了吗?...

原标题:小米推送小米MIX2S 安卓P稳定版更新 这两个隐藏升级你发现了吗?今天上午,小米推送了小米MIX2S的稳定版更新,版本号为MIUI V10.0.4.0,体积为2GB,这一次更新将系统底层更新至了Android P,不…

如何用python做一个会聊天的女朋友_520来啦~教你用Python给自己造了一个女朋友!...

520这一天,也是网络情人节。就在那天,如果没有女朋友的自己,如何假装自己是有朋友的!如何在朋友圈“秀恩爱。女生版:image很有感觉有木有~~男生版:imageimage其实这些都是小意思啦~~这些都是假装自己有女朋…

鸿蒙系统定位低端市场,明年年初见!鸿蒙系统会先定位中低端,后续全面升级...

惊变20年鸿蒙系统手机会先定位中低端惊变20年上个月的华为H..DC2020开发者大会上,余承东对外公布将在明年开发出搭载鸿蒙系统的手机,并且采用EMUI11的华为手机可以拥有优先享受升级鸿蒙的待遇,手持华为手机的用户都颇为期待。惊变20年根据最新…

jsfor循环终止_js 终止 forEach 循环

wp8 入门到精通 MultiMsgPromptList arraymsg new List(); List ArrayNotifyInfo ...转:Top 10 Algorithms for Coding InterviewThe following are top 10 algorithms related concepts in coding interview. I will try to illustrate t ...Unity游戏开发——自动…

python求出五位数的回文数_python之递归

#codingutf-8#题目:打印出如下图案(菱形)nu 1 # 开始值k 2 # 变量值while nu > 0:print(int((7 - nu) / 2) * * * nu)nu kif nu 7:k -k#题目:有一分数序列:2/1 ,3/2 ,5/3 ,8/5 ,1…

html大小写字符串转换成整数,c++字符串大小写转换

由于ANSI和Unicode在函数名上有差别,故都列出来,不过本人以Unicode为主。【1.用C语言标准库函数toupper,tolower】头文件:cctype c下面:ctype.h转大写Ansi版: int toupper(int c);Unicode版:int towupper(w…

adams建立一绳索不带滑轮_ADAMS绳索仿真

在实际生活中有大量的绳索类传动运动形式。绳索类部件看似简单,但是用计算机软件对其模拟时却存在较大障碍。以钢丝绳为例,通常都是通过细长的钢丝螺旋缠绕在一起形成,在工作时当施加拉力载荷于其上,除了材料自身的拉力作用外&…

html正则判断全数字,javascript如何判断是不是数字?

javascript判断是不是数字的方法:方法一、使用js自带的全局函数isNaN()判断是不是数字。方法二、使用正则表达式判断是不是数字。方法三、通过typeof的返回值判断。JavaScript中判断是不是数字方法详解:第一种方法:isNaN()使用js自带全局函数…

弱加密算法有哪几种_常见的几种加密方法

常见的几种加密方法和实常见的几种加密方法 :MD5SHA1RSAAESDES1、MD5加密 是HASH算法一种、 是生成32位的数字字母混合码。 MD5主要特点是 不可逆MD5算法还具有以下性质:1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。2、…

html怎么无损插入背景音乐,HTML插入背景音乐方法【全】

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Syche我今天本来是做网页玩来着,忽然想在博客上放一个类似QQ空间背景的音乐播放器,于是晚上找了之后,终于实现了这个功能,这里和大家来分享一下:一:TESTsrc&qu…

law是什么的缩写_Lawyer和Attorney 有什么不同?

据美国劳工统计局(Bureau of Labor Statistics)预计,2016年至2026年间,律师的就业增长率为8.2%。在此期间,预计将新增6.5万个就业岗位。而且美国律师行业的,律师行业在US.NEWS 的Best Social Services Jobs中排名第一,…

获取不到html页面上的元素,Vue v-for渲染页面,获取不到DOM元素解析

v-for 渲染循环渲染页面的出现让我们告别了繁琐的JS拼接,在开发上面节省了很多时间。近期在开发中发现了在某些特定情况下,出现了获取不到渲染出来的DOM元素的情况,原因身为小白的我暂时还没搞清楚(忘大佬指出),但是却得出来初步的…

android ble蓝牙接收不到数据_Android蓝牙4.0 Ble读写数据详解 -2

Android蓝牙4.0 Ble读写数据详解 -2上一篇说了如何扫描与链接蓝牙 这篇文章讲讲与蓝牙的数据传输,与一些踩到的坑。先介绍一款调试工具,专门调试Ble蓝牙的app。名字叫:nRF-Connect 谷歌应用商店也能下载到。这里我先连接一个蓝牙设备 贴几个截图。UUID的…

选择座位html,影厅座位预览效果(css3)_html/css_WEB-ITnose

查看 demo 下载源码你可能对那些购买时需要选择座位的订票系统比较熟悉。通常在比赛,电影,搏击或者演唱会售票的时候需要这样做。如果能有一种座位的预览效果该有多酷啊,比如能够从你选择的位置的角度去预览舞台或者屏幕。这个问题引出了今天…

html 使用百度搜索,百度搜索uzer,进入主页

windows7的uzer.me怎么 安全上网百度搜索uzer,进入主页下载完成以后,点击,快捷方式,运行。登陆后,首先出现的是文档库,点击文档库。UZER上的软件和文件都打不开,网络没问题。因为安装的软件版本…

php广告任务网源码_THINKPHP仿我爱广告任务网|任务网站源码下载

Thinkphp仿我爱广告任务网网站源码下载,基于PHPMYSQL开发制作的在线广告打码任务网站源码,底层内核为THINKPHP,大体完整!有需要的朋友可下载尝试下!安装环境:php5.3以上 mysql5.6安装方法:1、导入根目录下…

2021曲靖高考成绩查询时间,2021年曲靖高考成绩排名及成绩公布时间什么时候出来...

曲靖高考结束后,每年都有很多家长和考试不知道曲靖高考成绩排名如何查询、曲靖高考成绩什么时候公布以及查询方式,本文小编整理了曲靖高考成绩查询排名的相关知识。一、曲靖高考成绩公布时间及查询方式根据往年曲靖高考成绩公布时间预测,2021…

lisp 读取样条曲线座标点_如何在lisp中求一条直线和一条曲线的交点

★快捷命令的命名规律 1、 快捷命令通常是该命令英文单词的第一个或前面两个字母,有的是前三个字母。比如,直线(Line)的快捷命令是“L”;复制(COpy)的快捷命令是“CO”;线型比例(LTScale)的快捷命令是“LTS”。 在使用过程中&…

uniapp打包成html5包个ios壳,HBuilder之uni-app打包App方法

HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。该软件既可以支持web代码编写,也可以将已经编写好的项目代码打包为手机APP。HBuilder提供的打包有云端打包和本地打包两种,云端打包的特点是DCloud官方配置好了原生的打包环境,可…

笔记本超频会烧吗_笔记本电脑cpu超频是什么意思?超频会怎样啊?

展开全部CPU超频的意思是人为提高CPU的外频或倍频,32313133353236313431303231363533e78988e69d8331333431373933使之运行频率得到大幅提升。超频后CPU的运算速度会提高。超频的主要后果是会导致系统不稳定、系统温度升高甚至损毁硬件,即使超频后能稳定地…