- 时间:2022-11-06 00:57 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:vue监听scroll的坑的解决方法
最近开始用vue写个小项目,踩了不少坑,这里记录下爬坑过程,给有同样经历的人帮助。
[b]问题[/b]
今天想在vue的项目里面用下拉加载,然后就直接写了:
[img]http://files.jb51.net/file_images/article/201709/201709070922371.png[/img]
但是我发现我切换路由以后依旧其他页面也触发了scrollHandler函数,然后我想到使用了vue-router做的spa项目,window对象不变的,所以需要在每次使用后销毁。
[b]解决办法[/b]
我回去看了下vue文档的生命周期,看到了destroyed,然后直接在这个周期内销毁就可以了。
[img]http://files.jb51.net/file_images/article/201709/201709070922382.png[/img]
[b]使用throttle出现的新问题[/b]
下拉加载一般需要配合throttle限流函数(原理可以看这里)来避免频繁触发,所以优化代码成这样:
[img]http://files.jb51.net/file_images/article/201709/201709070922383.png[/img]
然后发现没法用removeEventListener了,因为这个函数第二个参数不接受匿名函数。
[b]最后代码[/b]
用一个变量中转下
[img]http://files.jb51.net/file_images/article/201709/201709070922384.png[/img]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。