你的代码出现这个错误TypeError: Cannot read property 'addEventListener' of undefined
时间: 2023-08-19 17:11:37 浏览: 160
Vue打包Cannot read property 'tapPromise' of undefined报错处理.docx
5星 · 资源好评率100%
这个错误通常是因为在mounted生命周期钩子函数中调用了$refs对象,但此时组件还未渲染完成,$refs对象还不存在。可以通过在nextTick中执行代码来避免这个问题。修改后的代码如下:
```javascript
mounted() {
this.$nextTick(() => {
this.$refs.scroll1.$el.addEventListener('scroll', () => {
this.$refs.scroll2.$el.scrollTop = this.$refs.scroll1.$el.scrollTop;
});
this.$refs.scroll2.$el.addEventListener('scroll', () => {
this.$refs.scroll1.$el.scrollTop = this.$refs.scroll2.$el.scrollTop;
});
});
},
beforeDestroy() {
this.$refs.scroll1.$el.removeEventListener('scroll');
this.$refs.scroll2.$el.removeEventListener('scroll');
}
```
这样就可以避免在mounted函数中访问$refs对象时出现的undefined错误了。
阅读全文