小程序生命周期分为应用生命周期和页面生命周期

1、Onload:页面加载时触发,一般在onLoad中发送异步请求来初始化页面数据。

2、onShow:页面显示时触发

3、onReady:页面初次渲染完成时触发。

4、onHide:是页面隐藏时触发,注意不是应用隐藏,切后台时,页面就会隐藏。即整个小程序隐藏时,页面也就隐藏了。另外,在当前页面跳转的时候也相当于当前页面隐藏。

5、onUpload:页面卸载(关闭)时触发,当open-type为redirect,reLaunch,navigateBack时都是关闭当前页面,也即卸载当前页面。

6、onPullDownRefresh:监听用户的下拉动作,当在app.json中配置了允许下拉刷新,在页面中往下拉动就会有下拉刷新的效果。还可以设置下拉刷新时的背景颜色。

下拉刷新时往往需要对页面数据就行初始化,重新发请求来拿数据。

7、onReachBottom:页面上拉触底时才会触发。 如果页面高度不够,就不会发生滚动,也就没有页面上拉触底。故需要让页面出现上下滚动才行。

如何才能实现页面出现上下滚动呢?加一堆view标签就可以了。输入view{$}*100,就会出现100个标签。

在onReachBottom中做上拉加载下一页数据的操作

8、onShareAPPMessage:用户点击右上角转发的时候才会触发,点击右上角的三个点就会弹出转发按钮。点击转发按钮后,由于应用和页面都被隐藏了,所以打印效果如下。

9、onPageScroll:表示页面滚动就可以触发,

10、onResize:页面尺寸改变时触发。由于手机屏幕是固定的,这种情况很少发生,但在小程序发生横屏和竖屏切换时会触发。使小程序中的页面支持屏幕旋转的方法是:在app.json的window段中设置“pageOrientation”:“auto”,这样所有页面都可以发生屏幕旋转,或在页面json文件中配置“pageOrientation”:“auto”,这样只有当前页面发生屏幕旋转。

11、onTabItemTap:当前是标签页(顶部或底部有tabBar的页面),再点击自己的tab item时才会触发。如当前页是标签页demo4,在tabBar中点击demo4时才会触发。而点击其他的Tab item则不会触发。

先使当前页面变成tabBar页面,即在app.json的tabBar中在新增一项

微信小程序:页面生命周期的更多相关文章

  1. 微信小程序之生命周期(三)

    [未经作者本人同意,请勿以任何形式转载] 上一篇介绍微信小程序开发工具使用和项目目录结构. 这一章节介绍微信小程序的生命周期,什么是生命周期呢? 通俗的讲,生命周期就是指一个对象的生老病死. 从软件的 ...

  2. [转] 微信小程序之生命周期

    本篇文章介绍小程序的生命周期,由于小程序分为应用和页面两个部分,所以小程序的生命周期就涉及到三个部分,分别是: 应用的生命周期 页面的生命周期 应用的生命周期对页面生命周期的影响 一.应用的生命周期 ...

  3. 教你理解微信小程序的生命周期和运行原理

    转自:http://blog.csdn.net/tsr106/article/details/53052879  写微信小程序,他的生命周期不能不知道,不知道小程序就会出现各种bug而无法解决.小助君 ...

  4. 理解微信小程序的生命周期和运行原理

    写微信小程序,他的生命周期不能不知道,不知道小程序就会出现各种bug而无法解决.小助君公众号带你学习小程序的生命周期和运行原理. 小程序由两大线程组成:负责界面的线程(view thread)和服务线 ...

  5. 微信小程序的生命周期和APP对象的使用

    1.生命周期和APP对象的使用: //app.js App({ onLaunch: function () { //调用API从本地缓存中获取数据 var logs = wx.getStorageSy ...

  6. 微信小程序-APP生命周期与运行机制

    QQ讨论群:785071190 开发微信小程序之前需要先了解微信小程序运行机制以及其生命周期,小程序APP生命周期需要先从app.js这个文件开始. 阅读过"微信小程序-代码构成" ...

  7. 微信小程序APP生命周期

    小程序APP生命周期需要先从app.js这个文件开始,App() 必须在 app.js 中调用,必须调用且只能调用一次,app.js中定义了一些应用的生命周期函数 onLaunch----当小程序初始 ...

  8. 微信小程序-Page生命周期

    QQ讨论群:785071190 微信小程序开发之前我们还需认识一下小程序页面的生命周期,丛"微信小程序-代码构成"一文中我们可以了解到小程序页面中有一个.js的文件,这篇博文我们来 ...

  9. 对微信小程序的生命周期进行扩展 – Typescript 篇

    最近利用业余时间倒腾了一个微信小程序,主要目的是横向比较一些业界小程序平台的架构和做法.因为有在其他平台长期的开发经验,对于小程序的一些机制做了一些辩证的思考.例如,小程序的页面,其实不是一个页面,而 ...

  10. 微信小程序之生命周期

    1. 整个小程序生命周期 App({}) //app.js App({ onLaunch: function (options) { // 小程序初始化完成时(全局只触发一次) // 程序销毁(过一段 ...

随机推荐

  1. Redis 实战 —— 13. 扩展 Redis

    简介 当数据量增大或者读写请求增多后,一台 Redis 服务器可能没办法再存储所有数据或者处理所有读写请求,那么就需要对 Redis 进行扩展,保证 Redis 在能存储所有数据对情况下,同时能正常处 ...

  2. Linux上搭建https服务器

    https原理: 步骤:1.客户端浏览器向服务器发送如下信息:(1)客户端支持的SSL/TLS协议的版本号(2)密钥算法套件(3)客户端产生的随机数,用于稍后生成"会话密钥"2.服 ...

  3. redis-避免生产环境使用keys命令

    redis作为内存数据库, 有着很高的性能, Redis能读的速度是110000次/s, 写的速度是81000次/s; 除了进行持久化操作时, redis采用的是单线程架构, 所以如果我们在开发中不恰 ...

  4. C++的智能指针你了解吗?

  5. SparkCore2

    二.RDD编程 2.5 RDD中的函数传递 在实际开发中我们往往需要自己定义一些对于RDD的操作,那么此时需要主要的是,初始化工作是在Driver端进行的,而实际运行程序是在Executor端进行的, ...

  6. HDU-6703 array (线段树)

    题意 一个长度为n的排列a,\(\forall i\in [1,n] ,1\le a_i \le n\) , m次操作,每次操作: (1,pos),把 \(a_{pos}\) 变为\(a_{pos} ...

  7. python爬虫模板 - 最好大学网

    import requests from bs4 import BeautifulSoup import bs4 def get_html_text(url): try: #kv = {'user-a ...

  8. Baby-step giant-step算法

    写在前面: 学习笔记,方便复习,学习资料来自网络,注明出处 我们都在努力奔跑,我们都是追梦人 结论 In group theory, a branch of mathematics, the baby ...

  9. 二进制安装kubernetes(一) 环境准备及etcd组件安装及etcd管理软件etcdkeeper安装

    实验环境: 架构图: 主机环境: 操作系统:因docker对内核需要,本次部署操作系统全部采用centos7.6(需要内核3.8以上) VM :2C 2G 50G * 5  PS:因后面实验需要向k8 ...

  10. MySQL数据库系列(三)- MySQL常用引擎MyISAM和InnoDB区别详解

    概述 InnoDB:在MySQL 5.5及之后的版本,InnoDB是MySQL默认的事务型引擎,也是最重要和使用最广泛的存储引擎.它被设计成为大量的短期事务,短期事务大部分情况下是正常提交的,很少被回 ...