【小程序問題日記】避免多次觸發事件

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章