最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序BindTap快速連續(xù)點擊目標頁面跳轉(zhuǎn)多次問題處理

 更新時間:2019年04月08日 11:50:52   作者:老馬歷寫記  
這篇文章主要介紹了微信小程序BindTap快速連續(xù)點擊目標頁面跳轉(zhuǎn)多次問題處理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

問題描述:

1)wxml片段

<view bindtap="loadMulti">
  <text>連續(xù)點擊,加載多次</text>
</view>
<view bindtap="loadOnce">
  <text>連續(xù)點擊,加載一次</text>
</view>

2)js代碼片段

loadMulti:function(e) {
  wx.navigateTo({
    url: '/pages/loadMulti/index',
  })
},

3)快速,連續(xù)點擊“連續(xù)點擊,加載多次”文本串時,我們會發(fā)現(xiàn),目標頁面loadMulti/index頁面被加載了N次,需要點擊N次返回,才可以返回到主頁面。

問題原因剖析:

小程序基于MINA框架,該框架的核心框架的核心是一個響應(yīng)的數(shù)據(jù)綁定系統(tǒng),整個系統(tǒng)分為兩塊視圖層(View)和邏輯層(App Service),框架可以讓數(shù)據(jù)與視圖非常簡單地保持同步。當做數(shù)據(jù)修改的時候,只需要在邏輯層修改數(shù)據(jù),視圖層就會做相應(yīng)的更新;當點擊按鈕的時候,視圖層會發(fā)送 bindtap的事件給邏輯層,邏輯層找到對應(yīng)的事件處理函數(shù)loadMulti執(zhí)行。

由于視圖層發(fā)送bindtap事件給邏輯層并找到對應(yīng)的處理函數(shù)需要時間T1,找到對應(yīng)的處理函數(shù)loadMulti后,執(zhí)行l(wèi)oadMulti函數(shù):wx.navigateTo, hide 原頁面,需要時間T2,如果在T1+T2時間內(nèi),快速連續(xù)點擊N次,完全可以加載顯示N次目標頁面。

解決方案:

 loadOnce:function(e) {
  if (!this.pageLoading) {
   this.pageLoading = !0;
   wx.navigateTo({
    url: '/pages/loadOnce/index',
   })
  }
 },
 onShow: function() {
  this.pageLoading = !1;
}

1)loadOnce事件處理函數(shù)中,設(shè)置pageLoading = true

2)頁面的onShow事件中,設(shè)置pageLoading = false

其實我們可以封裝成方法:

/**

*解決連續(xù)點擊多次沖出觸發(fā)事件

*/

function throttle(fn, gapTime) {

  if (gapTime == null || gapTime == undefined) {

    gapTime = 1500

  }

  let _lastTime = null

  // 返回新的函數(shù)

  return function () {

    let _nowTime = + new Date()

    if (_nowTime - _lastTime > gapTime || !_lastTime) {

      fn.apply(this, arguments)  //將this和參數(shù)傳給原函數(shù)

      _lastTime = _nowTime

    }

  }

} 
<button bindtap='tap' data-key='abc'>tap</button> 

const util = require('../../utils/util.js')

Page({

  data: {

    text: 'tomfriwel'

  },

  onLoad: function (options) {

  },

  tap: util.throttle(function (e) {

    console.log(this)

    console.log(e)

    console.log((new Date()).getSeconds())

  }, 1000)

})

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 鼠標焦點離開文本框時驗證的js代碼

    鼠標焦點離開文本框時驗證的js代碼

    本文為大家介紹下利用js來驗證文本框的值,當鼠標焦點離開文本框時進行驗證,示例代碼如下,感興趣的朋友可以參考下哈,希望對大家有所幫助
    2013-07-07
  • assert()函數(shù)用法總結(jié)(推薦)

    assert()函數(shù)用法總結(jié)(推薦)

    assert的作用是現(xiàn)計算表達式 expression ,如果其值為假(即為0),那么它先向stderr打印一條出錯信息,然后通過調(diào)用 abort 來終止程序運行。這篇文章主要介紹了assert()函數(shù)用法總結(jié),需要的的朋友參考下
    2017-01-01
  • 悄悄用腳本檢查你訪問過哪些網(wǎng)站的代碼

    悄悄用腳本檢查你訪問過哪些網(wǎng)站的代碼

    YouPorn是YouTube的成人自拍版,Alexa排名61。如果你登陸YouPorn主頁,它會悄悄用腳本檢查你訪問過哪些色情網(wǎng)站。
    2010-12-12
  • 使用Nest.js實現(xiàn)接口教程示例

    使用Nest.js實現(xiàn)接口教程示例

    這篇文章主要為大家介紹了使用Nest.js實現(xiàn)接口教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • JavaScript獲取當前url根目錄(路徑)

    JavaScript獲取當前url根目錄(路徑)

    本文主要介紹JavaScript獲取當前url根目錄的方法,比較實用,需要的朋友可以參考一下。
    2016-06-06
  • JavaScript?數(shù)組基本操作全解

    JavaScript?數(shù)組基本操作全解

    今天這篇文章就是來和大家詳細聊聊JavaScript中數(shù)組的基本操作,很多語言都是在數(shù)組這有個分水嶺。聽懂了接下來就很容易,聽不懂就難辦了,大家要認真看喲。希望大家讀完有所收獲,那我辛苦碼字也就值了
    2022-02-02
  • 小程序云開發(fā)實現(xiàn)數(shù)據(jù)庫異步操作同步化

    小程序云開發(fā)實現(xiàn)數(shù)據(jù)庫異步操作同步化

    這篇文章主要為大家詳細介紹了小程序云開發(fā)實現(xiàn)數(shù)據(jù)庫異步操作同步化,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • js實現(xiàn)滑動到頁面底部自動加載更多功能

    js實現(xiàn)滑動到頁面底部自動加載更多功能

    本文主要分享了js實現(xiàn)滑動到頁面底部自動加載更多功能的代碼。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 你必須知道的Javascript知識點之"this指針"的應(yīng)用

    你必須知道的Javascript知識點之"this指針"的應(yīng)用

    本篇文章小編為大家介紹,你必須知道的Javascript知識點之"this指針"的應(yīng)用。需要的朋友參考下
    2013-04-04
  • Bootstrap網(wǎng)格系統(tǒng)詳解

    Bootstrap網(wǎng)格系統(tǒng)詳解

    bootstrap框架中的網(wǎng)格系統(tǒng)就是將容器平分成12份,在使用的時候可以根據(jù)實際情況重新編譯LESS/SASS源碼來修改12這個數(shù)值。接下來通過本文給大家介紹Bootstrap網(wǎng)格系統(tǒng),感興趣的朋友一起學習
    2016-04-04

最新評論

肥乡县| 乌拉特后旗| 青神县| 固始县| 德江县| 上饶市| 沁阳市| 革吉县| 鄂托克旗| 玉溪市| 军事| 乌拉特后旗| 乐业县| 遂昌县| 望都县| 融水| 宕昌县| 越西县| 余庆县| 肥东县| 句容市| 屏山县| 宝兴县| 稻城县| 望城县| 兴仁县| 南部县| 日照市| 扶绥县| 左权县| 休宁县| 宁远县| 深圳市| 壶关县| 汉中市| 松桃| 柞水县| 阿拉善左旗| 平安县| 衡阳县| 金山区|