Uncaught TypeError: Cannot read properties of undefined (reading ‘getBoundingClientRect‘)

使用 ref 为 div 元素赋予一个ID引用 "more"

{{ more }}

绑定滚动事件,获取该 div 距浏览器窗口顶端的距离

 let scrollHeight = this.$refs.more.getBoundingClientRect().top;

经常出现报错:Uncaught TypeError: Cannot read properties of undefined (reading 'getBoundingClientRect') 

原因:应该是你在某个页面内绑定了window滚动事件,this.$refs.more是该页面下才能获取到该div对象,切换页面时window绑定的事件还在,但页面销毁,页面中的this.$refs.more找不到就报错了

解决办法:1.使用该属性前先添加该div对象是否存在的判断;
                  2.组件销毁的时候解除监听。

你可能感兴趣的:(前端,javascript,html)