1.安装
npm install vue-seamless-scroll --save
2.main.js文件里面引入使用:
import scroll from 'vue-seamless-scroll'
Vue.use(scroll)
3.示例参考地址
添加链接描述
4.使用
import vueSeamlessScroll from 'vue-seamless-scroll'
components: {
vueSeamlessScroll
},
<vueSeamlessScroll :data=newIncomeList :class-option="classOption" class="incomeList-over">
<ul>
<li v-for="(item,index) in newIncomeList" :key="index">
</li>
</ul>
</vueSeamlessScroll>
computed: {
classOption () {
return {
step: 0.2, // 数值越大速度滚动越快
limitMoveNum: 1, // 开始无缝滚动的数据量 this.dataList.length
hoverStop: false, // 是否开启鼠标悬停stop
direction: 1, // 0向下 1向上 2向左 3向右
openWatch: true, // 开启数据实时监控刷新dom
singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
waitTime: 1000 // 单步运动停止的时间(默认值1000ms)
}
}
},
5.通过api请求后台数据,发现数据没有展示 控制台查看时 ul标签高度为o,在数据获取前 dom就先渲染了。
一,解决方法可以使用官网的方法。
https://cn.vuejs.org/v2/guide/list.html#%E6%9B%BF%E6%8D%A2%E6%95%B0%E7%BB%84
二,在请求成功的回调函数中使用this.$nextTick()。
that.$nextTick(() => {
that.newIncomeList = data.body.dataList
})