亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue 中怎么使用防抖和節流防止重復點擊

發布時間:2021-07-30 16:38:40 來源:億速云 閱讀:411 作者:Leah 欄目:大數據

vue 中怎么使用防抖和節流防止重復點擊,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

/** * 函數防抖 (只執行最后一次點擊)

 * @param fn

 * @param delay * @returns {Function} * @constructor */export const Debounce = (fn, t) => {    let delay = t || 500;    let timer;    console.log(fn)    console.log(typeof fn)    return function () {        let args = arguments;        if(timer){            clearTimeout(timer);        }        timer = setTimeout(() => {            timer = null;            fn.apply(this, args);        }, delay);    }};  /** * 函數節流 * @param fn * @param interval * @returns {Function} * @constructor */export const Throttle = (fn, t) => {    let last;    let timer;    let interval = t || 500;    return function () {        let args = arguments;        let now = +new Date();        if (last && now - last < interval) {            clearTimeout(timer);            timer = setTimeout(() => {                last = now;                fn.apply(this, args);            }, interval);        } else {            last = now;            fn.apply(this, args);        }    }};

用法:

methods:{  getAliyunData:Throttle(function(){  ...   },1000),}

案例2:

防抖和節流是我們在開發過程中常用優化性能的方式

在 vue 中怎么使用:

1、在公共方法中(如 public.js 中),加入函數防抖和節流方法

// 防抖export function _debounce(fn, delay) {     var delay = delay || 200;    var timer;    return function () {        var th = this;        var args = arguments;        if (timer) {            clearTimeout(timer);        }        timer = setTimeout(function () {            timer = null;            fn.apply(th, args);        }, delay);    };}// 節流export function _throttle(fn, interval) {    var last;    var timer;    var interval = interval || 200;    return function () {        var th = this;        var args = arguments;        var now = +new Date();        if (last && now - last < interval) {            clearTimeout(timer);            timer = setTimeout(function () {                last = now;                fn.apply(th, args);            }, interval);        } else {            last = now;            fn.apply(th, args);        }    }}

2、在需要使用的組件引用

import { _debounce } from "@/utils/public";

3、在 methods 中使用

 methods: {    // 改變場數    changefield: _debounce(function(_type, index, item) {        // do something ...    }, 200)  }

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

同江市| 长顺县| 敦煌市| 城固县| 岫岩| 新龙县| 麻阳| 卓尼县| 平乐县| 浮山县| 金昌市| 武功县| 巴林右旗| 贵州省| 游戏| 福泉市| 崇文区| 建平县| 将乐县| 沙河市| 长海县| 上高县| 城固县| 西宁市| 县级市| 普陀区| 乐平市| 垦利县| 虞城县| 苏尼特左旗| 栾城县| 兰州市| 成都市| 永丰县| 罗城| 湄潭县| 建昌县| 台南县| 普兰县| 灌云县| 怀集县|