微信小程序生命周期和页面生命周期

1、小程序的生命周期(App.js)


App() 必须在 app.js 中注册,且不能注册多个。所以App()方法在一个小程序中有且仅有一个;
App() 函数用来注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等;

生命周期方法:
onLaunch:生命周期函数–监听小程序初始化,当小程序初始化完成时,会触发;
onShow:生命周期函数–监听小程序显示,当小程序启动,或从后台进入前台显示,会触发;
onHide:生命周期函数–监听小程序隐藏,当小程序从前台进入后台,会触发;

注:前台、后台定义: 当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。

注意:
1.不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。
2.不要在 onLaunch 的时候调用 getCurrentPage(),此时 page 还没有生成。
3.通过 getApp() 获取实例之后,不要私自调用生命周期函数。

2、页面的生命周期


onLoad: 页面加载
一个页面只会调用一次。
接收页面参数 可以获取wx.navigateTo和wx.redirectTo及<navigator/>中的 query。

onShow: 页面显示
每次打开页面都会调用一次。

onReady: 页面初次渲染完成
一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。

onHide: 页面隐藏
当navigateTo或底部tab切换时调用。

onUnload: 页面卸载
当redirectTo或navigateBack的时候调用。

3、Tabbar

1、每个页面的json文件都不能去掉navigationBarTitleText这个属性,否则会报错.
2、 "pages": [
"pages/home/home",
"pages/me/me",
"pages/index/index",
],
这个页面的注册一定要注意,第一个一定是要是Tabbar最先显示的,否则会出现底部导航看不到。

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

推荐阅读更多精彩内容

  • 想要把你的照片作为背景,才发现我终于还是,删掉了所有关于你的一切。 我开始清醒了,不再觉得你是世界上最好,也不再会...
    lbiza_阅读 189评论 0 1
  • 古之善背向者,乃协四海,包诸侯忤合之地而化转之,然后求合。故伊尹五就汤,五就桀,而不能所明,然后合于汤。吕尚三就文...
    卜未之阅读 408评论 0 4