91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

海安县| 镇雄县| 东莞市| 枣阳市| 怀宁县| 龙海市| 吉安市| 横峰县| 北安市| 久治县| 江油市| 冷水江市| 扎赉特旗| 肃宁县| 仁化县| 临西县| 德州市| 吉木萨尔县| 新干县| 桃源县| 贞丰县| 双辽市| 双鸭山市| 金沙县| 海林市| 应城市| 和政县| 闽侯县| 西华县| 海阳市| 嘉祥县| 磐安县| 盘山县| 南安市| 枣强县| 石楼县| 观塘区| 永川市| 江阴市| 景宁| 定陶县|