需求
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供新蔡網(wǎng)站建設(shè)、新蔡做網(wǎng)站、新蔡網(wǎng)站設(shè)計、新蔡網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、新蔡企業(yè)網(wǎng)站模板建站服務(wù),10年新蔡做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
例如在搜索框中,并不是你輸入一個字就需要渲染一次數(shù)據(jù),而是取最后一次的輸入內(nèi)容進(jìn)行搜索。
連續(xù)按下 AAAAA ,只取最后一次按下時搜索框的內(nèi)容(即:AAAAA)進(jìn)行搜索。 而不是搜索跟 A(第一次按下),AA(第二次按下),AAA相關(guān)聯(lián)的內(nèi)容
本文例子: 檢測用戶輸入的值,監(jiān)測這個值,然后根據(jù)值調(diào)用接口查詢結(jié)果
代碼:
<template> <input type="text" v-model="message"> <template> <script> import axios from "axios"; export default { data(){ return{ message:'' }, watch : { message(newVal){ var that = this; // 取消上一次請求 this.cancelRequest(); axios.get('/api/searchList?cityId=10&kw='+ newVal, { cancelToken: new axios.CancelToken(function(c) { that.source = c; }) }).then((res) => { // 在這里處理得到的數(shù)據(jù) //數(shù)據(jù)邏輯處理 }).catch((err) => { if (axios.isCancel(err)) { console.log('Rquest canceled', err.message); //請求如果被取消,這里是返回取消的message } else { //handle error console.log(err); } }) } }, methods: { cancelRequest(){ if(typeof this.source ==='function'){ this.source('終止請求') } } } } </script>
其他做法:
可以使用 clearTimeout() setTimeout() 截取,設(shè)置一定時常請求一次
總結(jié)
以上所述是小編給大家介紹的vue中axios防止多次觸發(fā)終止多次請求的實現(xiàn)方法(防抖),希望對大家有所幫助!
名稱欄目:vue中axios防止多次觸發(fā)終止多次請求的示例代碼(防抖)
網(wǎng)頁URL:http://www.chinadenli.net/article48/pigohp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站策劃、云服務(wù)器、電子商務(wù)、全網(wǎng)營銷推廣、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)