小程序踩坑之旅(一)

0

本人作为刚刚踏入小程序开发不久的新人来说,每天都要被它折磨的欲仙欲死,各种用的不习惯,没办法,也只能选择接受了。
其实对于用过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的时候调用。