Page页中的钩子函数
//当下拉刷新的时候
onPullDownRefresh: function () {
},
//页面上拉触底事件的处理函数
onReachBottom: function () {
},
//当页面滚动时
onPageScroll(pos){
返回顶部的元素在页面滚动>200时显示
if (pos.scrollTop > 200){
this.setData({
isBackTopShow: true
},()=>{
console.log('数据更新完毕之后的回调');
})
console.log(this.data.isBackTopShow);
}
},
//当在tabBar上切换到当前页时
onTabItemTap(item){
console.log(item.text);
console.log(item.index);
console.log(item.pagePath);
}
bindtap和catchtap
bindtap: 冒泡
catchtap: 阻止冒泡
wxml
<view class="wrapper" bindtap="onParentTap" data-num="0" data-id="4">
<view bindtap="onBindTap" data-type="bind">bindtap</view>
<view catchtap="onCatchTap" data-type="catch">catchtap</view>
</view>
js
onBindTap(){
console.log('onBindTap');
},
onCatchTap(){
console.log('onCatchTap');
},
onParentTap(e){
console.log('onParentTap',e);
}
注意e.target.dataset 和e.currentTarget.dataset的区别
this.setData是异步函数,有回调
this.setData({},()=>{
console.log('数据更新完毕执行该回调')
})
weui组件库的使用
参考课件
微信授权获取用户信息
wxml
<button bindtap="getInfo" type="primary" class="btn" >微信登录</button>
js
getInfo(e) {
wx.getUserProfile({
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
console.log(res);
//把获取的用户昵称和头像地址存在storage
let { nickName ,avatarUrl} = res.userInfo
},
fail(err){
console.log('拒绝');
}
})
},
微信数据缓存的API
//存
let user = {
nickName: 'a',
age: 18
}
wx.setStorage({
key:"userinfo",
data: user
})
//取
wx.getStorage({
key: 'userinfo',
success:(res)=> {
this.setData({
isLoginShow: false
})
},
fail:()=>{
console.log('没有数据');
this.setData({
isLoginShow: true
})
}
})
//清除
wx.removeStorage({
key: 'userinfo',
})