微信小程序之生命周期
1. 整个小程序生命周期 App({})
//app.js
App({
onLaunch: function (options) {
// 小程序初始化完成时(全局只触发一次)
// 程序销毁(过一段时间没有执行,或者手动删除了小程序后再次添加)之后,再次启动就会执行
console.log('onLaunch');
},
onShow: function (options) {
// 小程序启动,或从后台进入前台显示时
console.log('onShow');
},
onHide: function () {
// 小程序从前台进入后台时,就会执行
console.log('onHide');
},
onError: function (msg) {
// 小程序发生脚本错误,或者 api 调用失败时触发,会带上错误信息
console.log(msg)
},
globalData: {
userInfo: null
}
})
2. 页面生命周期 page({})
Page({
onLoad: function (options) {
// 监听页面加载
// 页面加载的时候执行,只执行一次
console.log('页面load');
},
onReady: function () {
// 监听页面第一次渲染完成
// 只执行一次
console.log('页面ready');
},
onShow: function () {
// 只要页面显示,就会执行
console.log('页面show');
},
onHide: function () {
// 页面隐藏,就会执行
console.log('页面hide');
},
onUnload: function () {
// 页面卸载,就会执行
console.log('页面unload');
}
})
注意
1. tab页面之间的相互切换,不会让页面重新加载(onLoad),也就不会卸载(onUnload),只会隐藏与显示页面,即:页面切换只会交替执行 onHide() 与 onShow() 函数
2. 在某页面使用 NavigatorTo 跳转至目标页面时(比如从 index 页面跳转至 detail 页面),该页面(index页面)只执行 onHide(), 目标页面(detail页面)执行 onLoad()、onReady()、onShow();
3. 在回退(NavigatorBack)时(比如从 detail 页面回退至 index 页面),index页面执行onShow(), detail页面会被卸载,即执行onUnload();
微信小程序之生命周期的更多相关文章
- 微信小程序之生命周期(三)
[未经作者本人同意,请勿以任何形式转载] 上一篇介绍微信小程序开发工具使用和项目目录结构. 这一章节介绍微信小程序的生命周期,什么是生命周期呢? 通俗的讲,生命周期就是指一个对象的生老病死. 从软件的 ...
- 教你理解微信小程序的生命周期和运行原理
转自:http://blog.csdn.net/tsr106/article/details/53052879 写微信小程序,他的生命周期不能不知道,不知道小程序就会出现各种bug而无法解决.小助君 ...
- [转] 微信小程序之生命周期
本篇文章介绍小程序的生命周期,由于小程序分为应用和页面两个部分,所以小程序的生命周期就涉及到三个部分,分别是: 应用的生命周期 页面的生命周期 应用的生命周期对页面生命周期的影响 一.应用的生命周期 ...
- 理解微信小程序的生命周期和运行原理
写微信小程序,他的生命周期不能不知道,不知道小程序就会出现各种bug而无法解决.小助君公众号带你学习小程序的生命周期和运行原理. 小程序由两大线程组成:负责界面的线程(view thread)和服务线 ...
- 微信小程序-APP生命周期与运行机制
QQ讨论群:785071190 开发微信小程序之前需要先了解微信小程序运行机制以及其生命周期,小程序APP生命周期需要先从app.js这个文件开始. 阅读过"微信小程序-代码构成" ...
- 微信小程序APP生命周期
小程序APP生命周期需要先从app.js这个文件开始,App() 必须在 app.js 中调用,必须调用且只能调用一次,app.js中定义了一些应用的生命周期函数 onLaunch----当小程序初始 ...
- 微信小程序的生命周期和APP对象的使用
1.生命周期和APP对象的使用: //app.js App({ onLaunch: function () { //调用API从本地缓存中获取数据 var logs = wx.getStorageSy ...
- 微信小程序-Page生命周期
QQ讨论群:785071190 微信小程序开发之前我们还需认识一下小程序页面的生命周期,丛"微信小程序-代码构成"一文中我们可以了解到小程序页面中有一个.js的文件,这篇博文我们来 ...
- 对微信小程序的生命周期进行扩展 – Typescript 篇
最近利用业余时间倒腾了一个微信小程序,主要目的是横向比较一些业界小程序平台的架构和做法.因为有在其他平台长期的开发经验,对于小程序的一些机制做了一些辩证的思考.例如,小程序的页面,其实不是一个页面,而 ...
- 原生微信小程序的生命周期
小程序的生命周期函数:onLaunch:function(){当启动小程序时触发小程序只会启动1次,一般为初次打开时一般只会触发一次},onShow:function(){当小程序从后台切入到前台时触 ...
随机推荐
- .NET Dispose模式的实现
以下是代码: /// <summary> /// Dispose Pattern /// </summary> /// <remarks> /// 由逻辑可知: / ...
- Knockout学习,添加模板,事件,Mouseover,mouseout
<div class="rtitle">我的收藏</div> <div class="list_ul" data-bind=&qu ...
- T-SQL检查停止的复制作业代理,并启动 (转载)
有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题.因此我写了一个脚本定期检查处于停止状态的分发代理, ...
- 插入算法---java实现
插入排序java代码实现 package algorithms.插入排序; import java.io.BufferedReader; import java.io.InputStreamReade ...
- angular、jquery、vue 的区别与联系
angular和jquery的区别 angular中是尽量避免操作DOM, angular是基于数据驱动, 适合做数据操作比较繁琐的项目,angular适用于单页面开发,是一个比较完善的mvvm框架, ...
- No module named 'MySQLdb' Python3 + Django 2.0.3 + mysql 无法连接
问题概览: 学习Django连接mysql数据库的时候遇到了问题 首先安装mysql(Python 3不支持MySQL-python): pip install pymysql 进入编辑 settin ...
- JDK5 新特性之 可变参数的方法(2)---asList
> Arrays.asList(T - a)方法的使用 >UnsupportedOperationException分析 Arrays.asList(T - a)方法的使用 pac ...
- MySQL基础之 AUTO_INCREMENT
AUTO_INCREMENT AUTO_INCREMENT是mysql唯一扩展的完整性约束,当为数据库表中插入新纪录时,字段上的值会自动生成唯一的ID,再具体设置AUTO_INCREMENT约束时,一 ...
- ansible 碎记录
https://www.zhukun.net/archives/8167 ansible -i new/hosts new -m authorized_key -a "user=root k ...
- 通过sqli-labs学习sql注入——基础挑战之less1-3
首先,先看一些基础知识吧!!!!本人只是初学者,记录一下自己的学习过程,有什么错误之处请指出,谢谢!大佬请绕过!!!! url编码:一般的url编码其实就是那个字符的ASCII值得十六进制,再在前面加 ...