如何处理特定元素的滚动?
How to handle scroll in specific element?
我在Vue.js中使用Element UI组件,想添加滚动管理功能来实现无限滚动。
[这是截图代码:请看示例部分]
http://element.eleme.io/#/en-US/component/container
我尝试了下面的代码,但是即使我滚动这个部分也没有调用 infiniteScroll 方法。
<el-main @scroll="infiniteScroll">......</el-main>
此外,我也尝试了下面的方法,但它不起作用,因为此页面有两个滚动条(在 nav/content 中)并且想在仅滚动内容时调用 infiniteScroll 方法。
created: function () {
window.addEventListener('scroll', this.infiniteScroll);
},
destroyed: function () {
window.removeEventListener('scroll', this.infiniteScroll);
}
你们有最好的解决方案吗?
正如 Chinonso Chukwuogor 在评论中所述,您应该将侦听器附加到您想要的滚动元素。类似的东西应该可以工作:
<el-main id="myInfiniteScroll">......</el-main>
document.getElementById('myInfiniteScroll').addEventListener('scroll', this.infiniteScroll);
如果不是,更多的是infiniteScroll方法是什么的问题。
<el-main @scroll="infiniteScroll">......</el-main>
不起作用,因为在组件上绑定事件时,Vue 默认监听自定义事件.
If you want to listen for a native event you have to use the .native
modifier:
<el-main @scroll.native="infiniteScroll">......</el-main>
勾选demo
我在Vue.js中使用Element UI组件,想添加滚动管理功能来实现无限滚动。
[这是截图代码:请看示例部分] http://element.eleme.io/#/en-US/component/container
我尝试了下面的代码,但是即使我滚动这个部分也没有调用 infiniteScroll 方法。
<el-main @scroll="infiniteScroll">......</el-main>
此外,我也尝试了下面的方法,但它不起作用,因为此页面有两个滚动条(在 nav/content 中)并且想在仅滚动内容时调用 infiniteScroll 方法。
created: function () {
window.addEventListener('scroll', this.infiniteScroll);
},
destroyed: function () {
window.removeEventListener('scroll', this.infiniteScroll);
}
你们有最好的解决方案吗?
正如 Chinonso Chukwuogor 在评论中所述,您应该将侦听器附加到您想要的滚动元素。类似的东西应该可以工作:
<el-main id="myInfiniteScroll">......</el-main>
document.getElementById('myInfiniteScroll').addEventListener('scroll', this.infiniteScroll);
如果不是,更多的是infiniteScroll方法是什么的问题。
<el-main @scroll="infiniteScroll">......</el-main>
不起作用,因为在组件上绑定事件时,Vue 默认监听自定义事件.
If you want to listen for a native event you have to use the .native
modifier:
<el-main @scroll.native="infiniteScroll">......</el-main>
勾选demo