前沿
之前在项目中使用vue-cli scrollTop开发过网站右侧楼层导航效果折腾小记,现在测试说有一个bug,那会就是有些页面一直报错
index.vue:47 Uncaught TypeError: Cannot read property 'top' of undefined
at VueComponent.myScroll (index.vue:47)
经过筛查发现是scroll报的错,发现即使在某些页面为没有使用组件,也会抱着个错,于是就开始研究,发现
window.addEventListener("scroll", this.myScroll);
是基于windos
对象的,所以在整个项目都会监听,最后想到vue的一个生命周期destroyed
,那就是在组件销毁时也取消removeEventListener
监听,这样就好了。
解决方案
需要在网站右侧楼层导航效果折腾小记这个组件中加入,同时我也更新了这个组件,直接使用就好了。
destroyed() {
window.removeEventListener("scroll", this.myScroll);
},
结束语
多多折腾,多多学习。有什么不对的地方,评论区评论。大家一块进步。
网友评论