学习了黄轶老师的课程后,想要对better-scroll的应用进行总结。better-scroll是常用的移动端解决滚动需求的插件。 今天就利用它实现一个scroll的基础组件,可以解决获取滑动的实时位置、上拉加载、下拉刷新等功能。抽象出来的scroll组件以后可以用个各个项目中,功能可以根据better-scroll继续完善下去。
- 在src/base/scroll.vue
<template>
<div ref="wrapper">
<slot></slot>
</div>
</template>
<script>
import BScroll from 'better-scroll'
export default {
props: {
data: { // data是scroll需要滚动的数据,data改变时需要触发refresh()刷新
type: Array,
default: null
},
probeType: { // 有时候我们需要知道滚动的位置。当 probeType 为 1 的时候,会非实时(屏幕滑动超过一定时间后)派发scroll 事件;当 probeType 为 2 的时候,会在屏幕滑动的过程中实时的派发 scroll 事件;当 probeType 为 3 的时候,不仅在屏幕滑动的过程中,而且在 momentum 滚动动画运行过程中实时派发 scroll 事件。
type: Number,
default: 1
},
click: { // false会阻止浏览器的原生 click 事件。当设置为 true,better-scroll 会派发一个 click 事件
type: Boolean,
default: true
},
getScrollPos:{ // 决定是否开启获得滚动的实时坐