直接上源码:

组件:scroll.vue,需要先npm install better-scroll

<template><div ref="wrapper"><slot></slot></div>
</template><script type="text/ecmascript-6">import BScroll from 'better-scroll'const DIRECTION_H = 'horizontal'const DIRECTION_V = 'vertical'export default {props: {probeType: {type: Number,default: 1},click: {type: Boolean,default: false},listenScroll: {type: Boolean,default: false},data: {type: Array,default: null},pullup: {type: Boolean,default: false},beforeScroll: {type: Boolean,default: false},refreshDelay: {type: Number,default: 20},direction: {type: String,default: DIRECTION_V}},mounted() {setTimeout(() => {this._initScroll()}, 20)},methods: {_initScroll() {if (!this.$refs.wrapper) {return}this.scroll = new BScroll(this.$refs.wrapper, {probeType: this.probeType,click: this.click,eventPassthrough: this.direction === DIRECTION_V ? DIRECTION_H : DIRECTION_V})if (this.listenScroll) {this.scroll.on('scroll', (pos) => {this.$emit('scroll', pos)})}if (this.pullup) {this.scroll.on('scrollEnd', () => {if (this.scroll.y <= (this.scroll.maxScrollY + 50)) {this.$emit('scrollToEnd')}})}if (this.beforeScroll) {this.scroll.on('beforeScrollStart', () => {this.$emit('beforeScroll')})}},disable() {this.scroll && this.scroll.disable()},enable() {this.scroll && this.scroll.enable()},refresh() {this.scroll && this.scroll.refresh()},scrollTo() {this.scroll && this.scroll.scrollTo.apply(this.scroll, arguments)},scrollToElement() {this.scroll && this.scroll.scrollToElement.apply(this.scroll, arguments)}},watch: {data() {setTimeout(() => {this.refresh()}, this.refreshDelay)}}}
</script><style scoped lang="stylus" rel="stylesheet/stylus"></style>

应用方法:

引入并注册组件:

  import Scroll from 'base/scroll/scroll'export default {components: {Scroll}}

template结构以及style:

效果:图中轮播图+列表为滚动区域(recommend-content),即需要滚动的内容;对应的class:slider为轮播图,recommend-list为列表。由于轮播图数据以及list数据为动态获取,实际使用请填充你的数据,以上只给出关键结构。

已实现滚动:

基于vue2.0以及better-scroll实现scroll滑动组件及所实现组件的应用例子相关推荐

  1. 基于vue2.0实现音乐/视频播放进度条组件的思路及具体实现方法+代码解释

    基于vue2.0实现音乐/视频播放进度条组件的方法及代码解释 需求分析: ①:进度条随着歌曲的播放延长,歌曲播放完时长度等于黑色总进度条长度:时间实时更新. ②:当滑动按钮时,实时更新播放时间,橙色进 ...

  2. 基于vue2.0 + elementUI 后台管理平台

    Vue-Admin-Demo 这是一个基于vue2.0 + elementUI 后台管理平台 Github: https://github.com/xiahuahua/vue-vux-demo(欢迎S ...

  3. 基于vue2.0打造移动商城页面实践 vue实现商城购物车功能 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果...

    基于vue2.0打造移动商城页面实践 地址:https://www.jianshu.com/p/2129bc4d40e9 vue实现商城购物车功能 地址:http://www.jb51.net/art ...

  4. 基于vue2.0的一个豆瓣电影App

    1.搭建项目框架 使用vue-cli 没安装的需要先安装 npm intall -g vue-cli 使用vue-cli生成项目框架 vue init webpack-simple vue-movie ...

  5. Muse UI — 基于 Vue2.0 的 Material Design UI 库

    Vue 2.0 发布以来,很多 vue 的开源项目都开始了升级计划,我也思考着 vue-carbon 的升级之路,9月开工,11月完工, Muse UI 闪亮登场. 先睹为快 Muse UI 主要用于 ...

  6. 基于vue2.0+ 抽奖项目

    前言 临近年关抽奖活动,基于vue2.0+开发的抽奖项目. 便于查看效果,贴上相关地址: 在线示例地址:快速访问 github地址:查看源码 简介 基于vue.js抽奖项目,截屏保存每次抽奖图片至本地 ...

  7. vue tree组件_基于 Vue2.0 和 HeyUI 组件库的中后端系统 HeyUI Admin

    介绍 heyui-admin 是一个成熟的企业应用解决方案,基于 vue2.0 和 heyui 组件库的中后端系统. 功能 - Js - common / 通用 - ajax / 封装axios - ...

  8. 基于 Vue2.0 的移动端 / PC 端验证码输入组件.

    vue-input-code 基于Vue2.0的移动端验证码输入组件. 功能预览 输入回调 完成回调 自定义验证码个数 样式可控 这里是可爱的Demo 支持 支持 Vue.js 2.0+. 安装和使用 ...

  9. 基于VUE2.0的高仿饿了么分析与总结

    2019独角兽企业重金招聘Python工程师标准>>> 首先,慕课网提供的视频是基于vue1.0的规范写的,因此有一些地方在vue2.0下不能正常运行.虽然课程补充文件也提供了vue ...

最新文章

  1. 安卓手机也能跑YOLOv5了!
  2. 挂起和阻塞区别以及sleep和wait的区别
  3. DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件(详细)...
  4. 统计个人已完成的工作量_已注销注册人数统计(勘察设计类)2019.4.11
  5. LiveVideoStack线上分享第四季(十二):实时音视频抗丢包的实践
  6. @Entity报错,配置pom.xml
  7. mysql rpm 安装后修改路径_mysql rpm包安装后修改数据目录
  8. oracle模糊查询很慢,采用全文索引解决模糊查询速度慢的问题
  9. 能不能翻译PHP网站源码,有朋友可以帮忙用PHP翻译一段PYTHON代码吗?
  10. hystrix文档翻译之Dashboard
  11. ffmpeg将文件转码后推向服务器,FFMPEG转码部署实例 - SRS Wiki 中文文档
  12. 百度地图的经纬度转高德地图的经纬度
  13. win10 DOS命令操作
  14. android 解析程序包时出现问题
  15. 【渝粤教育】电大中专跨境电子商务理论与实务 (4)作业 题库
  16. 【Redis】分布式限流与Redis实现限流的四种方式(Redis专栏启动)
  17. 1 大奇迹 - 遥感 - 改变世界的技术
  18. 如何撰写PRD(一)
  19. UE4数字孪生 OD线开发浅析
  20. 单页面网站seo优化的基本要点

热门文章

  1. 40K刚面完Java岗,这些技术必须掌握
  2. mongdb学习笔记
  3. SAP ABAP系统更改主机名
  4. JavaScript强化教程——正则表达式回溯
  5. Python re module的使用
  6. jquery validate使用总结
  7. PrincipleCTEbook
  8. 看设备指示灯识别网络故障
  9. 通过反射获得引用程序集信息
  10. Android注册BroadcastReceiver的两种办法及其区别