场景:小程序点击链接没有反应,小程序的页面跳转并不是很快,快速连续点击“链接”N下会跳出N个页面。
解决办法:使用限制按钮或控件的点击间隔的方式处理。将这个方法放到公共的代码里面比如util,然后在使用时直接调用。
util.js写状态管理,2秒间隔。
//util.js
function buttonClicked(self) {
self.setData({
buttonClicked: true
})
setTimeout(function () {
self.setData({
buttonClicked: false
})
},2000)
}
module.exports = {
buttonClicked,
}
在js页面触发修改util.js的状态 。
//index.js
import util from './../../utils/util'
const app = getApp()
Page({
data: {
buttonClicked: false
},
toPath(e){
util.buttonClicked(this);
}
})
在wxml页面使用这个状态来判断是否触发方法。
<view bindtap="{{!buttonClicked?'toPath':''}}" data-url="/pages/product/index">
点我跳转
</view>