onReachBottom: function(){
let page_data = this.data
if(this.data.has_more == true) {
//防止重复、先直接设置FALSE,等返回值再设置
//不要问为啥has_more直接设置FALSE,因为他妹的request只有异步。。。setData可能没生效,所以你阻止不了事件
this.data.has_more = false
//你的request地址 p是分页地址,在yt_url里面对p++,判断是否有更多 has_more
let yt_url = ''
wx.request({
url: yt_url+'?p='+page_data.p,
data: {
},
header: {
'content-type': 'application/扰察json'
},
success: function(res) {
resultData = res.data
this.data.p = resultData.p //设置页数为返回值的页数,因为setData没那么快。。
this.setData({
has_more : resultData.has_more,//设碧岁置页面
p: resultData.p,//是否还有更缓慧茄多
})
}
})
}
}
目前总结解决方法:同时需要设置模块拆猜的函数,函数都可放置在util.js中去。
首先:
一、在util.js中放卜运入如下两组函数
1. 设置点击后多久不能再次 *** 作该
function throttle(fn, gapTime) {
if (gapTime == null || gapTime == undefined) {
gapTime = 1500
}
let _lastTime = null
// 返回新的函数
return function () {
let _nowTime = + new Date()
if (_nowTime - _lastTime >gapTime || !_lastTime) {
fn.apply(this, arguments) //将this和参数传给原函数
_lastTime = _nowTime
}
}
}
2. 设置加载动画
function showLoading(message) {
if (wx.showLoading) { // 基础库 1.1.0 微信6.5.6版本开始支持,低版本需做兼容处理
wx.showLoading({
title: message, mask: true
})
} else { // 低版本型御梁采用Toast兼容处理并将时间设为20秒以免自动消失
wx.showToast({
title: message, icon: 'loading', mask: true, duration: 20000
})
}
}
function hideLoading() {
if (wx.hideLoading) { // 基础库 1.1.0 微信6.5.6版本开始支持,低版本需做兼容处理
wx.hideLoading()
} else {
wx.hideToast()
}
}
并且将其导出作为页面使用:
module.exports = {
throttle: throttle,
showLoading: showLoading,
hideLoading: hideLoading,
}
二、将函数引入页面使用
const util = require('../../utils/util.js')
即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)