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

vue解決一個方法同時(shí)發(fā)送多個請求的問題

 更新時(shí)間:2018年09月25日 14:14:35   作者:狂野的心跳  
今天小編就為大家分享一篇vue解決一個方法同時(shí)發(fā)送多個請求的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

在項(xiàng)目開發(fā)過程中,讓人抓狂之一的問題就是一個點(diǎn)擊事件,當(dāng)快速點(diǎn)擊的時(shí)候,它會重復(fù)發(fā)送多個請求。這是不允許出現(xiàn)的。

但是怎么解決這個問題呢?

一般處理方法,就是點(diǎn)擊的時(shí)候,立刻將該按鈕disabled,這樣就可以避免重復(fù)發(fā)送請求了。但是我發(fā)現(xiàn)這個有一個弊端,那就是:

如果,該事件有許多的驗(yàn)證,比如電話、郵箱格式是否正確呀,必填的是否填了呀等等。一旦你點(diǎn)擊就把按鈕disabled了,發(fā)現(xiàn)該填的沒填,回去填完后發(fā)現(xiàn)按鈕不能點(diǎn)了?那是因?yàn)閯偛劈c(diǎn)擊的時(shí)候被你disabled了,所以還得在驗(yàn)證的方法中取消按鈕的disable。就造成了你點(diǎn)擊的時(shí)候,第一步,將按鈕disable了,然后一步一步向下驗(yàn)證,如果驗(yàn)證出錯,得取消disable,當(dāng)所有驗(yàn)證通過了,在請求的回調(diào)函數(shù)中,成功了也要取消disable,失敗了也要取消disable,因?yàn)槭×擞脩舳喟脒€會繼續(xù)點(diǎn)兩次,不取消disable會讓用戶發(fā)現(xiàn)怎么點(diǎn)不了了。這就造成了全篇都是按鈕disable的設(shè)置與取消。一旦有修改,很難維護(hù)的。

在vue中,有一個lodash,我們只需引入就可以使用了。比如以下代碼:

<template>
 <div>
 <div class="bindBtn">
  <button class="bindDataBtn" @click="postAction">提交</button>
 </div>
 </div>
</template>
<script>
import _ from 'lodash'
export default {
 data() {
 return {
 
 }
 },
 mounted() {
 
 },
 methods: {
 sendAjax(){
  /*這里是請求的接口、參數(shù)以及回調(diào)函數(shù)等*/
 },
 postAction(){
  this.doPostAction()
 }
 },
 created(){
 this.doPostAction = _.debounce(this.sendAjax,500);
 }
}
</script>

我們首先將發(fā)送請求的ajax方法寫在一個函數(shù)里面,在這里就是sendAjax函數(shù),其次,我們引入lodash,然后將sendAjax這個函數(shù)用一個方法自定義一下,在這里就是doPostAction,其中_是我們引入的lodash,_.debounce是一個限制操作頻率的函數(shù),里面的是500是毫秒單位。

當(dāng)執(zhí)行點(diǎn)擊事件的時(shí)候,也就是postAction函數(shù),我們只需要調(diào)用doPostAction這個函數(shù)就可以了,而那個500的功能就是你在這個時(shí)間段里,無論執(zhí)行了多少次這個點(diǎn)擊事件,它都只會執(zhí)行一次。

這樣就少了我們通篇disable來disable去

最后附上官網(wǎng)例子:點(diǎn)擊前往

以上這篇vue解決一個方法同時(shí)發(fā)送多個請求的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用vue.js?為基礎(chǔ)的仿QQ聊天室

    使用vue.js?為基礎(chǔ)的仿QQ聊天室

    這篇文章主要為大家介紹了基于vue.js的QQ聊天室,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 基于vue3實(shí)現(xiàn)一個簡單的輸入框效果

    基于vue3實(shí)現(xiàn)一個簡單的輸入框效果

    這篇文章主要為大家詳細(xì)介紹了如何使用Vue3實(shí)現(xiàn)一個簡單的輸入框,可以實(shí)現(xiàn)輸入文字,添加表情等功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Vue通過vue-router實(shí)現(xiàn)頁面跳轉(zhuǎn)的全過程

    Vue通過vue-router實(shí)現(xiàn)頁面跳轉(zhuǎn)的全過程

    這篇文章主要介紹了Vue通過vue-router實(shí)現(xiàn)頁面跳轉(zhuǎn)的操作步驟,文中有詳細(xì)的代碼示例和圖文供大家參考,對大家的學(xué)習(xí)或工作有一定的幫助,感興趣的朋友可以參考下
    2024-04-04
  • vue.js select下拉框綁定和取值方法

    vue.js select下拉框綁定和取值方法

    下面小編就為大家分享一篇vue.js select下拉框綁定和取值方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 一文詳析vue3?Props的用法(父傳子)

    一文詳析vue3?Props的用法(父傳子)

    這篇文章主要給大家介紹了關(guān)于vue3?Props的用法(父傳子)的相關(guān)資料,在Vue3中Props用于組件間數(shù)據(jù)傳遞,允許類型檢查和默認(rèn)值設(shè)置,文中將用法介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • Vue3中的setup語法糖、computed函數(shù)、watch函數(shù)詳解

    Vue3中的setup語法糖、computed函數(shù)、watch函數(shù)詳解

    這篇文章主要介紹了Vue3中的setup語法糖、computed函數(shù)、watch函數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • vue獲取DOM元素并設(shè)置屬性的兩種實(shí)現(xiàn)方法

    vue獲取DOM元素并設(shè)置屬性的兩種實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄獀ue獲取DOM元素并設(shè)置屬性的兩種實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • vue如何判斷數(shù)組中的對象是否包含某個值

    vue如何判斷數(shù)組中的對象是否包含某個值

    這篇文章主要介紹了vue如何判斷數(shù)組中的對象是否包含某個值,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue2老項(xiàng)目vite升級改造過程記錄

    vue2老項(xiàng)目vite升級改造過程記錄

    目前vite主要默認(rèn)是支持給vue3使用的,并且如果使用官方的cli創(chuàng)建的項(xiàng)目一樣會默認(rèn)使用vue3去構(gòu)建項(xiàng)目,此時(shí)對于一些vue2的老項(xiàng)目就顯得不友好了,下面這篇文章主要給大家介紹了關(guān)于vue2老項(xiàng)目vite升級改造的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • vue中keepAlive組件的作用和使用方法詳解

    vue中keepAlive組件的作用和使用方法詳解

    vue里提供了keep-alive組件用來緩存狀態(tài),這篇文章主要給大家介紹了關(guān)于vue中keepAlive組件的作用和使用方法的相關(guān)資料,需要的朋友可以參考下
    2021-07-07

最新評論

涿鹿县| 邳州市| 图木舒克市| 弥勒县| 敦煌市| 都江堰市| 汉源县| 修武县| 开化县| 河东区| 潮州市| 深泽县| 九寨沟县| 浦北县| 昭通市| 澎湖县| 长葛市| 西乡县| 遵化市| 普洱| 肥东县| 琼海市| 宁明县| 洞口县| 芦山县| 莱州市| 天台县| 无为县| 鹿泉市| 壶关县| 定州市| 梁山县| 永德县| 泾源县| 修武县| 新闻| 全州县| 伊春市| 石嘴山市| 潍坊市| 万山特区|