用 better-scroll 也好, vue-infinite-scroll/loading 也罢,只要不是自己手动计算高度,有什么解决的思路吗?
需求:
但是页脚(element ui 里面那个 footer)是是始终在列表区域下方的,也就是说新加载的数据要加在列表区域和页脚之间。且页脚不能固定,随整个页面滑动。要同时兼容 PC 和 Mobile 。
用 better-scroll 也好, vue-infinite-scroll/loading 也罢,只要不是自己手动计算高度,有什么解决的思路吗?
需求:
但是页脚(element ui 里面那个 footer)是是始终在列表区域下方的,也就是说新加载的数据要加在列表区域和页脚之间。且页脚不能固定,随整个页面滑动。要同时兼容 PC 和 Mobile 。
谢邀:
与web端解决思路一样
最后一个元素进入视图的时候就去进行加载
判断进入视图:
进入试图 = 最后一个元素的offsetTop(绝对Top值) - scrollTop < clientHeight
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答2k 阅读
需求说的不是很清楚,我就按照我的理解来做了
首先footer用fixed定位,固定在页面底部
然后用vue的列表循环渲染数据列表,注意在最后一个元素加一个margin-bottom(也可以用padding),这样可以使得footer不遮盖最后一个元素
最后用window.onscroll=fn或者addEventListener('scroll',fn)来监听滚动事件,当文档高度等于滚动高度加上页面高度的时候,更新数据,由于vue双向绑定的原因,数据会自动渲染出来