15-声明周期函数

  • 小程序生命周期
    首先小程序的生命周期函数是在app.js里面调用的,App(Object)函数用来注册一个小程序,接受一个 Object 参数,小程序的入口方法,指定其小程序的生命周期回调。一般有onLaunch监听小程序初始化、onShow监听小程序显示、onHide监听小程序隐藏等生命周期回调函数App() 必须在 app.js 中调用,必须调用且只能调用一次
小程序生命周期.png

从中我们可以知道小程序的生命周期函数的调用顺序为:
onLaunch(小程序进入的时候或者刷新数据的时候触发)
onShow(点击切后台或者是胶囊按钮以后再切回前台的时候触发)
onHide(切后台或者是点击右上角的胶囊按钮触发)
顺序:onLaunch > onShow > onHide
相关文档
https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html

  • 页面周期函数
    页面生命周期函数就是当你每进入/切换到一个新的页面的时候,就会调用的生命周期函数。Page(Object) 函数用来注册一个页面。接受一个Object类型参数,其指定页面的初始数据、生命周期回调、事件处理函数等


    页面生命周期.png

https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html

从中我们可以知道小程序的生命周期函数的调用顺序为:
onLoad(进入某一个页面的时候)
onShow(页面显示的时候)
onReady(页面初次渲染完成的时候或者是再次切回页面的时候);
onHide(切换到其他页面的时候会触发)
顺序:onLoad > onShow > onReady
由此我们知道了小程序程序生命周期函数页面生命周期函数的调用顺序;这两者之间的事件顺序一般如上图所示小程序周期函数在前,页面周期函数触发在后;但是,这并不是绝对的。

  • 在其他子页面如何使用app.js中的变量和方法呢?

首先可以通过getApp获取全局对象,然后进行全局变量和全局方法的使用。

let app = getApp();
console.log(app.globalData.helloFromApp); // 调用全局变量
app.test(); // 调用全局方法

不要在定义 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。

this.globalData.userInfo = res.userInfo

不要在 onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容