renderjs 里怎么获取页面滚动位置?
我在 uni-app 里用 renderjs 想监听页面滚动,但 window.pageYOffset 始终是 0,试了 document.documentElement.scrollTop 也不行,是不是在 renderjs 里不能直接访问这些属性?
我的代码大概是这样:
export default {
mounted() {
console.log('scrollY:', window.pageYOffset);
window.addEventListener('scroll', () => {
console.log('滚动了');
});
}
}
控制台没报错,但就是拿不到滚动值,也监听不到 scroll 事件,这咋整?
页面滚动实际发生在
.uni-page-body这个元素上,得找到它再监听。直接改:
更好的写法是用事件捕获,一劳永逸:
核心坑点就是 uni-app 的页面容器结构,window 根本不参与滚动。另外记得销毁时移除监听,不然内存泄漏等着你。