小程序踩坑之旅(一)
本人作为刚刚踏入小程序开发不久的新人来说,每天都要被它折磨的欲仙欲死,各种用的不习惯,没办法,也只能选择接受了。
其实对于用过Vue的人来说,可以选择小程序的wepy框架,wepy框架的写法习惯之类的和Vue大致上都很类似,在我感觉就是把小程序和Vue强行拧巴到了一起。(强行吐槽一下😂😂)
声明提前:以下仅是本菜鸟在开发中遇到的问题和解决方法,如有不正确的地方希望大佬们可以提出让我修改,以免误导了别人。
如果要做好小程序,就一定要了解小程序的运行流程,简略流程图如下:(ps:画个图都是爱你的形状❤)
小程序前台、后台、销毁
初次进入小程序的运行流程:app.onLaunch -> app.onShow -> page.onLoad -> page.onShow -> page.onReady
- 当用户点击小程序右上角的关闭按钮时,小程序从前台进入后台 ;此时小程序执行app.onHide -> page.onHide
- 当用户在几分钟内再次点击该小程序时,小程序从后台进入前台;此时小程序执行app.onShow -> page.onShow
- 小程序从后台进入前台时。不会携带任何参数。即options.query是空的。
生命周期 - app
onLaunch:监听小程序初始化
当小程序初始化完成时触发,且
全局仅触发一次
。
意思就是从用户打开小程序,到小程序被销毁,这个生命周期函数只会在进入小程序且初始化完成时触发。
onShow:监听小程序显示
当小程序启动,或从后台进入前台显示,会触发 onShow。
意思就是说,当用户点击右上角关闭按钮,并且在几分钟内再次进入该小程序,或者从当前页面返回到上一级页面时,会触发onShow。
onHide:监听小程序隐藏
当小程序从前台进入后台,会触发 onHide。
意思就是说,当用户点击右上角关闭按钮或者保留当前页面跳转到其他页面时(wx.navigateTo),会触发onHide。
onError:错误监听函数
当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
app实例
app.js 中的globalData数据和function都是全局的。调用方式:在Page中通过getApp()方法得到App对象并获得全局的数据和调用全局的函数
页面生命周期 - page
page()函数用来注册一个页面。接受一个 object 参数,其指定页面的初始数据、生命周期函数、事件处理函数等。
onLoad: 页面加载
一个页面从初始化到被销毁只会调用一次。
接收页面参数 可以获取wx.navigateTo和wx.redirectTo及中的 query。
onShow: 页面显示
每次从后台进入前台都会调用一次。
onReady: 页面初次渲染完成
一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
onHide: 页面隐藏
每次从前台进入后台时调用。ex:当navigateTo或底部tab切换时调用。
onUnload: 页面卸载
当页面被销毁时,即redirectTo或navigateBack的时候调用。