在app.js里面你会发现一个onLaunch()方法,这个方法是当小程序加载完毕后就执行的方法,此外,还有一个onShow()方法,先看下面的代码
app.js
//app.js App({ onLaunch: function (options) { console.log(options); console.log("你好"); }, onShow: function (options) { console.log("This is the on show function"); console.log("onShow"); console.log(options); }, globalData: { userInfo: null } })
发现在控制台中,onLaunch和onShow方法都执行了,且二者的console.log(options)打印的是同样的东西,为啥要这样子呢?
首先onLaunch方法是在小程序加载时执行的,而onShow方法是在每次从小程序的前后台切换时都执行的,比如比点开发者工具上面的“切前台”,再点"切后台”,此时会发现控制台输出的是onShow方法里面内容,而onLaunch不再执行。
好像,手机里当你点小程序右上角的关闭按钮时,在5分钟之内再次进入该小程序的话,默认执行onShow方法,不执行onLaunch方法,好像是5分钟之内算是切换后台而已?(不是很确定)
onShow(options)
1.调用时机:小程序启动,或从后台进入前台显示时触发。如果想要在小程序每次进入到前台时都执行一些事情,那么可以将代码放在这个里面。
比如一些实时动态更新的数据,用户每次进来都要从服务器更新,那么我们就可以在这个里面做。
onHide()
调用时机:小程序被切换到后台(包括微信自身被切换到后台或者小程序暂时被切换到后台)。可以在这个方法中共做一些数据的保存。
小程序从前台进入后台时触发。
onError(String error)
小程序发生脚本错误或 API 调用报错时触发
onError:function(msg){
console.log(msg);
},
小程序出错的话,会在编辑器中自动打印出错误信息,该错误信息也可以通过onError(String error)的error参数接收并打印出来或者另作他用
来源:知了黄勇
原文地址:https://www.cnblogs.com/Guhongying/p/10797694.html