微信小程序开发详解——生命周期

小程序开发


浏览:758 次

生命周期是指小程序从创建到销毁的一系列过程

在小程序中,通过App()注册小程序,通过page()注册页面

让我们看看小程序项目结构

形象

如上图所示,根目录包含三个文件:app。js``,app。wxss和app。json公司

这是小程序的全局文件,app Js是小程序逻辑,app。json是applet公共设置和app。wxss是小程序公共样式表

应用内的。js文件定义了一些生命周期方法,如onLaunch、onShow、onHide、onError,以及任何开发人员添加的函数或数据(可通过此文件访问)

以下是每个生命周期方法的角色和描述

OnLaunch生命周期函数——监听小程序初始化。小程序初始化完成后,将触发onLaunch(仅全局一次)

OnShow生命周期功能——监控小程序显示当小程序从后台启动或进入前台显示时,将触发OnShow

OnHide生命周期函数--监视隐藏的小程序当小程序从前台进入后台时,将触发OnHide

OnError错误监控功能当小程序发生脚本错误或api调用失败时,将触发OnError并显示错误消息

其他任何开发人员都可以将任何函数或数据添加到Object参数中,可以使用

我们在app中。以下方法在js文件中定义并打印出来

app({

onLaunch:函数(选项){

console.log(“app.js---onLaunch---”+JSON.stringify(选项));

},

onShow:函数(){

console.log(“app.js---onShow---”);

},

onHide:函数(){

console.log(“app.js---onHide---”);

},

onError:函数(消息){

console.log(“app.js---onError---”+msg);

},

全局数据:{

用户信息:空

}

})

形象

下面是一些打开小程序并打印它的方法

可以看到,打开的程序在app下执行onLaunch和onShow方法。js,以及页面中的onLoad、onShow和onReady方法

onLaunch和onShow方法将返回一个参数对象,其中包含三个参数:路径、查询和场景。Path是打开小程序的路径

可以查看更多场景值

当小程序切换到后台时,它将执行以下两种方法

形象

返回小程序前台

形象

页面中定义的生命周期方法

OnLoad生命周期函数——监听页面加载

OnReady生命周期函数——聆听页面第一次呈现的完成情况

onShow生命周期功能--收听页面显示

onHide生命周期函数--侦听器页面隐藏

OnUnload生命周期函数——监听页面卸载

第页({

onLoad:函数(选项){

安慰日志(“页面---加载---”);

},

onReady:函数(){

安慰日志(“page--onReady----”);

},

onShow:函数(){

安慰日志(“页面---显示---”);

},

onHide:函数(){

安慰日志(“page---onHide---”);

},

onUnload:函数(){

安慰日志(“页面---卸载---”);

}

})

其中,打开小程序后,将依次执行onLoad、onReady和onShow方法

在前后控制台之间切换时,将分别执行onHide和onShow方法,

销毁小程序页面时执行onUnload方法

例如,我们详细定义了onUnload方法。js语言

onUnload:函数(){

console.log(“details.js--onUnload”)

},

当我们打开一个新页面的详细信息。wxml,然后关闭页面

形象

从上图中,我们可以看到onUnload方法在页面上执行

此外,小程序为我们提供了全局数据管理,并获得了app。js实例通过页面上的getApp()方法

例如:

我们在app.js中定义了一个globalData数据对象

app({

全局数据:{

用户信息:空

}

})

//其他.js

var appInstance=获取app()

console.log(appInstance.globalData)

小心:

应用()必须在应用中注册。js,并且不能有多个。

不要在App()中定义的函数中调用getApp()。使用此项获取app实例。

当onLaunch正在进行时,不要调用getCurrentPages()。此时,页面尚未生成。

通过getApp()获取实例后,不要私自调用生命周期函数。