Kbone 中如何正确监听页面滚动事件?
我在用 Kbone 开发一个混合应用,想监听页面的滚动位置来做懒加载,但发现直接在 window 上监听 scroll 事件完全没反应。
试过 window.addEventListener('scroll', handler),也试过在页面根元素上加 ref 然后监听它的 scroll,都不行。是不是 Kbone 的 WebView 容器有什么特殊处理?
我的页面结构大概是这样的:
<template>
<div id="page-root" style="height: 100vh; overflow-y: auto;">
<div v-for="item in list" :key="item.id">{{ item.name }}</div>
</div>
</template>
如果是监听整个页面的滚动,用 wx.onPageScroll:
如果你那个 div 是页面根元素并且你想监听它的滚动,其实在小程序里就是页面滚动,用上面那个方法就行。
如果是非页面根元素(比如页面里某个独立的滚动区域),Kbone 支持在元素上直接绑 @scroll 事件:
两种方式你试一下,第一种监听页面滚动应该是你最需要的场景。