小程序的生命周期分为应用生命周期和页面生命周期。
应用指的是一个文件,是小程序的入口文件app.js,入口文件最外层方法名称是App,页面的js文件最外层是page,组件的js文件的最外层是component,
生命周期就是一些事件,只不过它触发的时机不是我们来定义的,而是应用或程序自己定义的,
1、onLaunch:应用第一次启动时就会触发的事件。作用:在应用第一次启动的时候,获取用户的个人信息,
2、onShow:应用被用户看到的时候触发的,这个事件会经常触发,如先切后台,然后选择一个场景值就可以看到应用。作用:对应用的数据或页面效果重置,
3、onHide:当应用被隐藏时触发,那什么时候应用会隐藏呢?切后台时就会隐藏。作用:当应用开启某些定时器,应用被隐藏时不希望定时器继续执行,此时可以在这里面暂停或清除定时器,因为用户都不看应用了,你还执行它就会浪费内存。
4、onError:当应用的代码发生了报错的时候就会触发,作用:在应用发生代码报错的时候,就收集用户的错误信息,通过异步请求将错误信息发送到后台去,
5、onPageNotFound:页面找不到的时候就会触发,即当应用第一次启动的时候,如果找不到第一个入口页面才会触发,入口页面是app.json文件中的pages数组的第一个页面,但是如下代码是在入口页面中进行跳转是不会触发onPageNotFound事件。
那么如何才能触发找不到入口页面呢?在微信开发者工具中点击普通编译,选择添加编译模式,将启动页面的路径写成不存在的路径,点击确定即可。
作用:如果入口页面不存在了,通过js的方式重新跳转页面,重新调到自己定义的另外一个首页。