[英]Why is removeEventListener not properly working in my Nuxt app?
当我的应用程序上有搜索结果时,下面的组件会呈现,它会检查用户滚动是否在页面底部。 代码起初运行良好,但是在导航出页面并返回页面并滚动之后,我得到了错误
未捕获的类型错误:无法读取 VueComponent.handleScroll 处未定义的属性“getBoundingClientRect”
<template>
<div class="grid-card-layout scrolling-component" ref="scrollComponent">
<slot/>
</div>
</template>
<script>
export default {
methods: {
handleScroll() {
let element = this.$refs.scrollComponent
if (element.getBoundingClientRect().bottom < window.innerHeight) {
window.removeEventListener('scroll', this.handleScroll);
return this.$emit("load-more");
}
},
mountOnScroll() {
window.addEventListener('scroll', this.handleScroll);
}
},
mounted() {
window.addEventListener('scroll', this.handleScroll);
// Start observing the target node for configured mutations
const observer = new MutationObserver(this.mountOnScroll);
observer.observe(this.$refs.scrollComponent, {
attributes: true,
childList: true,
characterData: true
});
},
unmounted() {
window.removeEventListener('scroll', this.handleScroll);
}
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.