公司有需求要做小程序,让我事先调研一下小程序的一些基本使用,自己做了个大概的整理。
生命周期
- 程序周期
- onLaunch:首次打开小程序时触发,只触发一次;第二次打开就不会被触发了;
- onShow:显示程序,从后台进入到前端的时候被触发;
- onHide:隐藏程序,从前端到后台的时候被触发;
- onError:程序发生错误或调用api错误被触发;并且会返回错误信息;
- 页面周期
- onLoad:页面加载时被触发;只会首次渲染的时候执行一次;初始化状态;
- onShow:页面显示;是每次界面切换都会执行;等待激活状态;接收到页面初始化完成后就将初始化的数据发送到页面上,然后等待初始化数据渲染页面完成;
- onReady:页面初次加载完成;激活状态;收到初始化渲染完成后就进入激活状态正常运行,此时就会触onReady;
- onHide:页面隐藏;后台运行状态;从前端到后台的过程,但是该状态和激活状态是相同的,同样可以使setData来更新data数据;
- onUnload:页面卸载
- tabBar
- tabBar中的list是个数组,数组内最少2个元素,最多5个;
- tabBar页面是需要配置tabBar的时候在list中引入该页面的路径,如果list中有什么页面tabBar就会显示显示什么页面;
- tabBar的跳转是通过wx.switchTab来实现的;
- 遇到问题:进入小程序之后先展示登录页在进入tabBar?
解决方法:进入小程序展示的第一个页面是和app中的page第一个引入的页面是一致的;所以把登陆页第一个引入就可以解决该问题;
- 页面跳转
- navigateTo:保留当前页面跳转到另一个页面,小程序对页面层数有要求,不能超过5层,所以用的时候需要十分注意;
- redirectTo:关闭当前页再跳转;不好的地方是当用户点击返回的时候无法回到原来的页面;
- reLaunch:关闭所有的页面再进行跳转;存在和
- redirectTo相同的问题;
- switchTab:是用来跳转到tabBar页面的;跳转之前会关闭掉所有不是tabBar的页面;除switchTab可以跳转tabBar页面,使用reLaunch也可以跳转;
- navigateBack:关闭当前页,返回上一层的页面;