【小程序】生命周期与app对象的使用

小程序的生命周期与app对象的使用

APP的生命周期

App()函数用来注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等。

App()必须在app.js中注册,且不能注册多个。

object参数说明:

【小程序】生命周期与app对象的使用

当小程序处于前台的状态时,既处于onShow的状态;

而当小程序按了Home键又或者被其他程序完全遮挡时,这是就会进入后台状态,也就是onHide的状态,而如果此时再次进入微信或再次打开小程序,就会从后台进入前台。

如果小程序进入后台一定时间,或者系统资源占用过高,才会被真正的摧毁。生命周期的理解其实和Android里面的生命周期也基本类似。

页面的生命周期

Page()函数用来注册一个页面。接受一个 object 参数,其指定页面的初始数据、生命周期函数、事件处理函数等。相当于是每个页面的生命周期,其相关生命周期如下:

object参数说明:

【小程序】生命周期与app对象的使用

跳转页面

在小程序中,跳转页面可以通过下面两个接口实现:

  1. wx.navigateTo这个接口用于打开新的页面;

    或者直接在wxml页面页面使用组件 也可以。

  2. wx.redirectTo这个接口用于页面重定向,也就是相当于把当前页面替换成一个新的新页面,这时候就无法返回上一个页面了。

注:在使用tabBar时,带有tabBar的页面似乎就无法通过wx.navigateTowx.redirectTo跳转了。

这时候,可以选择wx.switchTab进行跳转或者wx.reLaunch跳转,前者不能传递数据,而后者可以传递数据,但两种方法都不能再返回上一个页面了。

传递数据

如果需要在不同页面当中传递数据,则可以在路径名后加上’?’在添加对应变量名字和数值即可,多个数据的时候则用&&连接。

例如:url='../logs/logs?id=1&&title="你好"这样就可以将数据传递到logs这个页面,而在logs页面下,通过onLoad下的option就可以接收对应的数据,在进行使用即可。

app对象的使用

通过getApp()来获取app的实例,从而得到相关数据。

1.微信公众平台 | 小程序
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/app.html