微信小程序 生命周期函数详解


Posted in Javascript onMay 24, 2017

微信小程序 生命周期函数

小程序中 判断当前首页是从其他页面返回,还是由入口打开

由于小程序的数据在我们退出小程序时并没有得到释放,因此再次点击开来数据依然没有变成初始化
解决方法:在小程序 data 数据中声明一个变量 isClose 默认为 true 用于判断 是否为从入口打开,当点击跳转页面或者关闭小程序的时候,会触发 OnHide 函数在此函数中将判断 isClose is true 的时候即为关闭之后在打开,当跳转页面时首先将 isClose 设置为 false, 这样 触发 OnHide 函数的时候,isClose is flase 并不会执行,进入跳转的页面,然后在由页面进行返回这是会触发跳转的页面的 OnUnload 函数 在此函数中 设置一个定时器 在 200ms 之后将 isClose 改为 true 这样当关闭小程序 再次进入的时候 isColse 依然为true 判断时是首次进入页面

微信小程序的生命周期函数

1.1 监听页面加载

onLoad: function (options) {},

一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所调用的 query 参数。

1.2 监听页面初次渲染完成

onReady: function () {},

一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。

1.3 监听页面显示

onShow: function () {},

每次打开页面都会调用一次。

1.3 监听页面隐藏

onHide: function () {},

当navigateTo或底部tab切换时调用。

1.4 监听页面卸载

onUnload: function () {},

当redirectTo或navigateBack的时候调用。

微信小程序的 app.js 中 独有的 函数

2.1 监听小程序初始化

onLaunch:function () {},

当小程序初始化完成时,会触发 onLaunch(全局只触发一次)

2.2 错误监听函数

onError:function () {},

当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jQuery 源码分析笔记(2) 变量列表
May 28 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
Sep 27 Javascript
实例代码详解jquery.slides.js
Nov 16 Javascript
利用jquery获取select下拉框的值
Nov 23 Javascript
JS实现复选框的全选和批量删除功能
Apr 05 Javascript
js弹性势能动画之抛物线运动实例详解
Jul 27 Javascript
js实现移动端轮播图效果
Dec 09 Javascript
微信小程序使用Socket的实例
Sep 19 Javascript
对 Vue-Router 进行单元测试的方法
Nov 05 Javascript
微信小程序如何实现全局重新加载
Jun 05 Javascript
JS中比较两个Object数组是否相等方法实例
Nov 11 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
Dec 06 Javascript
很棒的vue弹窗组件
May 24 #Javascript
详解Vue使用命令行搭建单页面应用
May 24 #Javascript
详解Vue 非父子组件通信方法(非Vuex)
May 24 #Javascript
微信小程序 支付功能(前端)的实现
May 24 #Javascript
微信小程序 选项卡的简单实例
May 24 #Javascript
JS回调函数基本定义与用法实例分析
May 24 #Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 #jQuery
You might like
php实现的数组转xml案例分析
2019/09/28 PHP
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
React.js入门实例教程之创建hello world 的5种方式
2016/05/11 Javascript
浅谈JavaScript对象的创建方式
2016/06/13 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
2017/04/11 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
python 切片和range()用法说明
2013/03/24 Python
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
ipad上运行python的方法步骤
2019/10/12 Python
如何基于python生成list的所有的子集
2019/11/11 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
python 如何区分return和yield
2020/09/22 Python
英国工具中心:UK Tool Centre
2017/07/10 全球购物
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
新员工试用期自我鉴定
2014/04/17 职场文书
白血病捐款倡议书
2014/05/14 职场文书
上党课的心得体会
2014/09/02 职场文书
青年教师听课心得体会
2016/01/15 职场文书
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis