場景:小程序點擊鏈接沒有反應,小程序的頁面跳轉並不是很快,快速連續點擊“鏈接”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>