zoukankan      html  css  js  c++  java
  • js 解决在Vue中阻止重复提交、多次触发、节流函数、防止短时间多次触发问题

    定义节流函数,我这里是在Vue中使用的

      function throttle(fn, delay) {
            var lastTime;
            var timer;
            var delay = delay || 200;
            return function () {
                var args = arguments;
                // 记录当前函数触发的时间
                var nowTime = Date.now();
                clearTimeout(timer);
                timer = setTimeout(function () {
                    // 记录上一次函数触发的时间
                    lastTime = nowTime;
                    // 修正this指向问题
                    fn.apply(this, args);
                }, delay)
            }
        };
    

    在methos中方法中调用,我这里是阻止change多次触发问题

       checkChange: throttle(function (data, checked, childCked) {
                    var self = this;
                    var dictionaryViewVue = self.dictionaryViewVue;
                    dictionaryViewVue.modelIds = dictionaryViewVue.$refs.refTree.getCheckedKeys();
                    if (dictionaryViewVue.cardType == 'example') {
                        dictionaryViewVue.getEampleData();//解决重复发送请求
                    } else {
                        dictionaryViewVue.getIndexData();//解决重复发送请求
                    }
                }, 50),
    
  • 相关阅读:
    Fluent API
    什么是blazor
    10.事务
    9.用ExecuteSqlCommand执行存储过程
    8.自增主键 插入指定主键的数据
    7.图
    6.实体与上下文的关系
    5.并发
    4.跟踪
    3.级联删除
  • 原文地址:https://www.cnblogs.com/wangliko/p/14519505.html
Copyright © 2011-2022 走看看