vue子组件监听滚动事件

问题描述

页面中是一个父组件中嵌套一个子组件列表,我在子组件中监听页面滚动,使用以下代码,一直监听不到滚动事件。

代码如下:

beforeMount() {window.addEventListener("scroll", this.handleScroll);
},
destroyed() {window.removeEventListener("scroll", this.handleScroll);
}

原因分析:

查阅了addEventListener的文档才知道,子组件滚动是捕获事件,第三参数要设置为true,父组件滚动是冒泡事件,第三参数为false,而addEventListener第三参数默认false,所以只监听到冒泡事件。这时候只需要将第三方参数改为true就可以了。

解决方案:

将第三方参数改为true,就监听到滚动事件了。

代码如下:

beforeMount() {window.addEventListener("scroll", this.handleScroll,true);
},
destroyed() {window.removeEventListener("scroll", this.handleScroll,true);
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部