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最先显示的,否则会出现底部导航看不到。