文档章节

微信小程序的生命周期

o
 osc_f48vvrg3
发布于 2019/01/08 22:19
字数 926
阅读 12
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

  微信小程序的逻辑层主要包括:小程序的初始化过程和页面的初始化过程。微信小程序使用了App和Page方法进行程序和页面的注册,使用getApp()方法来获取App()实例。

  一、小程序的初始化:

    小程序的注册和初始化是通过App( )函数进行的,App( )注册小程序时接受一个object参数,指定小程序的生命周期。

    object参数说明:

属性 类型 描述 触发时机
onLaunch Function 生命周期函数--监听小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
onShow Function 生命周期函数--监听小程序显示 当小程序启动,或从后台进入前台显示,会触发 onShow
onHide Function 生命周期函数--监听小程序隐藏 当小程序从前台进入后台,会触发 onHide

 

 

 
 
    前台、后台定义: 当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。

 

App({
  onLaunch: function() { 
    // Do something initial when launch.
  //当小程序初始化完成时,触发这个函数; }, onShow: function() { // Do something when show.
  //当小程序启动,或从后台进入前台显示,触发这个函数; }, onHide: function() { // Do something when hide.
  //当小程序从前台进入后台,触发这个函数 } })

      小程序框架提供了一个全局的getApp()函数,可以获取到小程序实例。App()必须且只能在根目录的app.js文件中注册,而且只能注册一个。在App()函数内需要使用App实例时,只要使用this关键则就可以达到目的。

//index.js
var appInfo = getApp()
console.log(appInfo .appName)

    二、页面注册:

      按照如下表中的顺序进行执行:

 

属性 类型 描述
data Object
页面的初始数据
onLoad Function
生命周期函数--监听页面加载
onShow Function 生命周期函数--监听页面显示
onReady Function
生命周期函数--监听页面初次渲染完成
onHide Function
生命周期函数--监听页面隐藏
onUnload Function 生命周期函数--监听页面卸载
onPullDownRefresh Function 页面相关事件函数--监听用户下拉动作
onReachBottom Function 页面上拉触底事件的处理函数
其他  Any   开发者添加的任意的函数或数据

  
Page({
  //页面方法执行顺序 onLoad: function (options) { console.log("page ---onLoad---"); },
//只在页面加载时执行一次,接收页面参数可以获得wx.navigateTo和wx.redirectTo事件以及<navigator/>中的query事件;
  onShow: function () { console.log("page ---onShow---"); },
//在页面初次渲染完成时调用,每一个页面只会调用一次,代表页面已经准备好,可以和视图层进行数据交互,对界面的设置如wx.setNavigationBarTitle函数等可以在onReady之后设置。

//onReady函数只监听第一次完成渲染时的状态。
  onReady: function () { console.log("page ---onReady---"); },
//在页面显示时调用,每次打开页面都会调用一次;
  onHide: function () {
    console.log("page ---onHide---");
  },
//在页面隐藏时调用,当页面进行navigateTo页面导航或者用户通过操作底部导航按钮切换到其他页面时被调用; onUnload: function () { console.log("page ---onUnload---"); }
//页面卸载时调用,即页面执行redirectTo或navigateBack操作时调用。 })

下拉刷新的使用:

  用onPullDownRefresh属性来监听用户下拉刷新事件时,需事先在app.json的window配置中开启enablePullDownRefresh选项。当处理完数据刷新事件后,可以用wx.stopPullDownRefresh()函数停止页面的下拉刷新。

 

 


  

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
6
数据中心生命周期管理--Foreman

Foreman是一个集成的数据中心生命周期管理工具,提供了服务开通,配置管理以及报告 功能,和Puppet Dahboard一样,Foreman也是一个Ruby on Rails程序.Foreman和 Dashboard不同的地方是在于,Fore...

匿名
2012/10/24
1.5W
0
垂直爬虫--WebMagic

webmagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。 以下是爬取oschina博客的一段代码: Spider.create(new SimplePageProcessor("h...

黄亿华
2013/06/13
12.8W
84
AppleWatch开发入门三——代码交互与控制器生命周期

AppleWatch开发入门三——代码交互与控制器生命周期 一、引言 在前两篇博客中,讨论了关于watch开发中框架与界面布局相关,然而主要的逻辑,终究还是要通过代码来实现的,在我们创建了项目之...

珲少
2015/10/14
870
1
Android中Annotation使用

首先创建一个项目: 这个项目很简单,就三个类,一个activity,一个注解,一个注解工具类,首先看一下activity中的代码: 这个activity非常简单,就是为了演示annotation用的,其中有一个Tex...

似水流年0_0
2016/05/23
1.8K
1

没有更多内容

加载失败,请刷新页面

加载更多

IntelliJ IDEA简介及jetbrains-agent安装教程

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、J...

osc_mxz6aybo
24分钟前
13
0
Arraylist翻译分析

public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { //序列号UID,代表版本,私有的静态常量 private static final......

osc_bgpugm2v
25分钟前
0
0
深入分析序列化和反序列化原理,终于知道serialVersionUID到底有什么用了

深入序列化和反序列化原理 一个问题引发的思考 什么是序列化和反序列化 为什么需要序列化 序列化的方式 Java序列化 serialVersionUID的作用 serialVersionUID的两种表现形式 Transient关键字...

osc_sw1y4qdg
26分钟前
0
0
039. Nginx 负载均衡

1. 基于反向代理的功能,Nginx 作为负载均衡主要有以下几点理由: 高并发连接。 采用 epoll nio 的形式。 内存消耗少。 使用了大量自带的数据结构(自己设计的)。 数据拷贝采用类零拷贝的形式...

华夏紫穹
27分钟前
12
0
线程的基本概念和线程的使用方法

线程的基本概念 很多人会对程序、进程和线程之间理解比较含糊,在此先给出三者的概念: 程序:是一个指令的集合,意思就是我们为了完成特定的功能而编写的代码。 进程:是指程序的一次静态态执...

osc_t46alvdj
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部