throttle
throttle 在vue中的应用
开发中在vue的配置项中如下 使用throttle 发现为生效
emitOpenPdf(url) {
throttle(() => {
//执行代码
},wait);
},
这种是因为调动throttle的this指向不明确
可以修改为
emitOpenPdf(url) {
throttle(() => {
//执行代码
},wait).call(this.);
},
但是这种修改适用于 点击事件,scroll 等用户主动触发的事件,被动函数 会发现emitOpenPdf执行了 但是throttle内的函数体未执行,
可使用如下方法解决
emitOpenPdf(url) {
this.throttle(url); //给throttle 内的函数体传参
// openPdf(url);
},
throttle: throttle(function(url) {
openPdf(url);
}, 2500, { 'trailing': false }),
如果绑定事件没有起到节流的效果也可以使用@event = "throttle " 解决