Kbone 中如何正确监听页面滚动事件? 书生シ艳鑫 提问于 2026-03-09 16:58:22 阅读 12 移动 我在用 Kbone 开发一个混合应用,想监听页面的滚动位置来做懒加载。但在小程序端绑定 scroll 事件完全没反应,H5 端倒是正常的。我试过在 mounted 里加 window.addEventListener('scroll', handler),但小程序里 window 对象好像不支持这个? 查了文档说要用 Kbone 的适配层,但没找到具体例子。是不是得用特殊的 API?有没有人遇到过类似问题? Kbone移动端框架 我来解答 赞 5 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 薪羽~ Lv1 Kbone里小程序端的滚动监听确实和H5不一样,不能用window对象。要用pageScrollTo相关的API,我来告诉你怎么搞效率最高。 首先在模板里给滚动容器加个ref: <scroll-view ref="scrollContainer" scroll-y> <!-- 你的内容 --> </scroll-view> 然后在mounted里这么绑定: mounted() { if (process.env.isMiniprogram) { // 小程序端 this.$refs.scrollContainer.$el.addEventListener('scroll', this.handleScroll) } else { // H5端 window.addEventListener('scroll', this.handleScroll) } } 别忘了在beforeDestroy里解绑事件,不然会内存泄漏。对了,如果你要做懒加载,建议加个节流函数,别让scroll事件触发太频繁: handleScroll: throttle(function() { // 这里写你的懒加载逻辑 }, 200) 小程序里scroll-view的性能比H5的window.scroll差一些,所以节流时间可以设长点。我之前项目设200ms就够用了,再短可能会卡顿。 回复 点赞 2026-03-09 17:02 加载更多 相关推荐 2 回答 26 浏览 Kbone 中如何正确监听页面滚动事件? 我在用 Kbone 开发微信小程序,想监听页面的滚动位置,但 onScroll 事件好像不生效。 试过在页面根元素加 bindscroll,也试过用 window.addEventListener('... ❤俊贺 框架 2026-02-28 17:55:20 1 回答 3 浏览 Taro中如何正确监听页面滚动事件? 我在Taro开发微信小程序时,想监听页面的滚动事件,用了Taro.createSelectorQuery()和onPageScroll都不太对,页面根本没触发。 查了文档说要在页面配置里加"enabl... 子晨~ 移动 2026-03-12 13:15:19 2 回答 24 浏览 Taro中如何正确监听页面滚动事件? 我在Taro开发微信小程序时,想监听页面的滚动事件,但用onScroll好像没生效,文档里也没找到明确说明。试了在页面config里加enablePullDownRefresh也不行。 这是我的代码:... 一利娟 框架 2026-03-07 14:26:20 2 回答 16 浏览 Taro中如何正确监听页面滚动事件? 我在Taro开发微信小程序时,想监听页面的滚动位置,但用onPageScroll好像没生效,控制台也没报错。 页面结构是普通ScrollView包裹内容,是不是得用别的方法?试过在componentD... 子源~ 移动 2026-03-01 09:55:19 1 回答 41 浏览 uni-app中React组件如何正确监听页面滚动事件? 在用uni-app开发时遇到了滚动监听问题。我在页面里写了一个React组件,想通过uni的onPageScroll方法获取滚动位置,但滚动时数值没有变化,甚至出现重复回调。 尝试过这样写代码: co... 极客子诺 移动 2026-02-18 08:58:42 1 回答 26 浏览 Kraken 中如何正确监听页面滚动到底部事件? 我在用 Kraken 开发一个移动端列表页,想实现滚动到底部自动加载更多数据。但按照文档监听 scroll 事件好像没反应,控制台也不报错。 我试过在页面根元素上加监听,也试过用 document.d... 欧阳照涵 框架 2026-03-07 16:08:19 1 回答 89 浏览 百度小程序中如何监听页面滚动事件? 我在百度小程序里想监听页面的滚动,试了 onScroll 但根本没触发,文档里也没找到明确说明。是不是得用别的方法? 我页面结构是用 scroll-view 包裹内容,加了 bindscroll 事件... Designer°风珍 移动 2026-03-05 18:08:20 1 回答 14 浏览 Rax 里怎么监听页面滚动事件? 我在 Rax 项目里想监听页面滚动,但用 window.addEventListener('scroll', ...) 好像没反应,是不是因为 Rax 跑在小程序环境里?试过在 useEffect 里... 程序猿爱菊 框架 2026-03-09 02:36:18 2 回答 23 浏览 nvue中如何监听页面滚动到底部事件? 我在用uni-app开发一个nvue页面,想在用户滚动到底部时加载更多数据,但试了@scroll事件好像拿不到正确的滚动位置,文档里也没找到类似onReachBottom的API,这该怎么处理? 目前... 静静的笔记 移动 2026-03-01 23:59:20 2 回答 19 浏览 Hippy 中如何正确监听页面返回事件? 我在 Hippy 项目里想监听页面返回(比如 Android 物理返回键),但文档里没找到明确的 API。试过用 BackHandler,但好像不是 Hippy 的标准模块,一直报错说 undefin... 爱学习的云娴 框架 2026-02-27 19:12:21
pageScrollTo相关的API,我来告诉你怎么搞效率最高。首先在模板里给滚动容器加个ref:
然后在mounted里这么绑定:
别忘了在beforeDestroy里解绑事件,不然会内存泄漏。对了,如果你要做懒加载,建议加个节流函数,别让scroll事件触发太频繁:
小程序里scroll-view的性能比H5的window.scroll差一些,所以节流时间可以设长点。我之前项目设200ms就够用了,再短可能会卡顿。