为了账号安全,请及时绑定邮箱和手机立即绑定

vue 函数节流中匿名函数问题

vue 函数节流中匿名函数问题

慕容森 2019-05-15 10:39:33
问题这是原生版函数节流方法:匿名函数(注:returnfunction(){}在methods中不能执行)请问,怎么将其改成vue版呢?由于在滚动和中文搜索框中十分常用,请教贴代码:created(){window.addEventListener('scroll',()=>{this.debounce()(this._log,1000);}},methods:{debounce(fn,idle){letsetTm;console.log('debounce')if(!idle||idle
查看完整描述

2 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

绑定的方式应该是:
window.addEventListener('scroll',
this.debounce(this._log,1000));
看下fiddle
                            
查看完整回答
反对 回复 2019-05-15
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

varthrottle=(fun,wait=5000)=>{
varlast=0;
returnfunction(){
varargs=arguments;
varctx=this;
varnow=Date.now();
if(now-last>=wait){
last=now;
returnfun.apply(ctx,args);
}
console.log(`上一个周期未执行完毕`)
}
}
exportdefault{
name:'VueComponent',
methods:{
scroll:throttle(function(){
//...
})
}
}
                            
查看完整回答
反对 回复 2019-05-15
  • 2 回答
  • 0 关注
  • 296 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信