如下 throttle
是一个高阶函数,返回加了防抖功能的原函数
但是这个卸载的话 throttle()
返回的新函数是否要保存个变量呢?
因为卸载的时候要用到
请问怎么写更合适呢?
mounted() {
this.$refs['xxx'].addEventListener("scroll", throttle(this.onScroll, 500));
},
destroyed() {
// 卸载事件
}
如下 throttle
是一个高阶函数,返回加了防抖功能的原函数
但是这个卸载的话 throttle()
返回的新函数是否要保存个变量呢?
因为卸载的时候要用到
请问怎么写更合适呢?
mounted() {
this.$refs['xxx'].addEventListener("scroll", throttle(this.onScroll, 500));
},
destroyed() {
// 卸载事件
}
created() {
this.throttleScroll = throttle(this.onScroll, 500)
},
mounted() {
this.$refs['xxx'].addEventListener("scroll", this.throttleScroll)
},
destroyed() {
// 卸载事件
this.$refs['xxx'].removeEventlistener("scroll", this.throttleScroll)
}
10 回答11.6k 阅读
2 回答3.1k 阅读✓ 已解决
2 回答4.1k 阅读✓ 已解决
4 回答4.6k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
4 回答2k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
为什么不直接让onScroll是throttle的结果呢
当然你现在的写法不想挂一个属性在this上,也可以直接这样写: