从官方文档看小程序的几大周期函数(生命周期函数)有以下几类
onLunch:当页面初始化完成以后调用 (只调用一次)
onShow:当页面展示出来的时候,小程序启动,或从后台进入前台显示时触发。可以也。使用wx.onAppShow
绑定监听。
onHide:小程序从前台进入后台时触发。可以也。使用wx.onAppHide
绑定监听。
onError:小程序发生脚本错误或API调用报错时触发。也可以使用wx.onError
绑定监听。
App({
onLaunch: function (options) {
console.log("app.js ---onLaunch---" + JSON.stringify(options));
},
onShow:function(){
console.log("app.js ---onShow---");
},
onHide:function(){
console.log("app.js ---onHide---");
},
onError: function (msg){
console.log("app.js ---onError---" + msg);
},
globalData: {
userInfo: null
}
})
在page页面中定义的生命周期方法
onLoad 生命周期函数--监听页面加载
onReady 生命周期函数--监听页面初次渲染完成
onShow 生命周期函数--监听页面显示
onHide 生命周期函数--监听页面隐藏
onUnload 生命周期函数--监听页面卸载
配置文件 在pages中先新建文件名(.js .wxml),在app.json中去修改pages中添加上路径
这几日开发小程序遇到很多的问题:
wx:for循环时 会出现一个警告 ,需要我们设置wx:key=""来解决这个问题 需要使用 wx:key 来指定列表中项目的唯一的标识符。
加上可以让for循环的效率更高,
setData({})
setData方法多用于点击后改变页面信息或者刷新后与后台交互获取最新的信息
注意:
- 直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致
- 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。
虽然 小程序可以使用es6语法可是用了箭头函数会改变this指向让this指不到data上,所以设置 var var=this 无用