当前位置: 首页 > Web前端 > vue.js

节流和稳定

时间:2023-04-01 12:25:54 vue.js

以固定的节流频率执行一些操作,比如Lenovoinputfunctionthrottle(fn,delay){letflag=true,//locktimer=null;返回函数(...args){让上下文=this;如果(!标志)返回;//如果还在固定频率内,不做任何操作直接返回flag=false;清除超时(计时器);timer=setTimeout(function(){fn.apply(context,args);flag=true;},delay)}}防抖会在限定时间内连续触发一次操作,只执行最后一次操作。比如拖一个弹窗需要不断的计算和改变位置functiondebounce(fn,delay){lettimer=null;returnfunction(...args){letcontext=this;}如果(定时器)clearTimeout(定时器);//清空最后一个定时器,取消事件触发重新定义Vue中的使用newVue({data(){return{throttle:null}},mounted(){this.throttle=throttle(()=>{//dosomething},1500)},methods:{exec(){this.throttle()}}})