vue2中引用及使用 better-scroll的方法详解


Posted in Javascript onNovember 15, 2018

使用时有三个要点:

一:html部分

<div class="example" ref="divScroll">
  <div>
    <p>内容1</p>
    <p>内容2</p>
    <ul>
       <li>list1</li>
       <li>list2</li>
    <ul>
  </div>
</div>

【注】

1.最外层加ref,让better-scroll通过ref来获取整个div;

 2.紧跟一个div,不用加任何样式或class, 最终可以滑动的部分就是这个div,这个div必须是 加了ref 的div 的 直接子元素。  在这个div里面就可以放置希望滑动的内容了。

二: css部分

.example
 width: 100%
 position: absolute
 top: 174px
 bottom: 48px
 left: 0
 overflow: hidden

【注】 1. 这里只是举例,并不是一定要这样写。

2. 首先将 获取到的加了 ref 的div 的 高度固定, 可以设置定位, 也可以设置  height, max-height...

3. 加 overflow: hidden 。

三: js 部分

首先 引入 better-scroll:

import BScroll from 'better-scroll';

1: 使用 mounted() 函数

mounted() {
  this.scroll = new BScroll(this.$refs.divScroll, {
    click: true,
  });
 },

2.使用 created() 函数

created() {
  this.$nextTick(() => {
   this.scroll = new BScroll(this.$refs.divScroll, {
    click: true,
   });
  });
},

【注】 1.使用created 函数 要异步执行(此时html 尚未渲染完成)。

2. mounted函数 无需异步执行(mounted 函数在html渲染完成后触发)。

下面看下Vue中引入better-scroll的方法

1.用npm 安装好 better-scroll

npm install--save better-scroll

2.在需要的页面引入

import BScroll from 'better-scroll'

3.在data中定义 better-scroll的参数

options: {
     pullDownRefresh: {
      threshold: 50, // 当下拉到超过顶部 50px 时,触发 pullingDown 事件
      stop: 20 // 刷新数据的过程中,回弹停留在距离顶部还有 20px 的位置
     },
     pullUpLoad: {
      threshold: -20 // 在上拉到超过底部 20px 时,触发 pullingUp 事件
     },
//     pullDownRefresh: false, //关闭下拉
//     pullUpLoad: false, // 关闭上拉
     click: true,
     probeType: 3,
     startY: 0,
     scrollbar: true
    }

4.在template中写入

<div class="wrapper" ref="wrapper" :scrollbar="options.scrollbar" :startY="options.startY">

5.在methods中写入方法,我自定义的

load() {
    if (!this.scroll) {
     this.scroll = new BScroll(this.$refs.wrapper, this.options);
     // 上拉
     this.scroll.on('pullingUp', () => {
      // 刷新数据的过程中,回弹停留在距离顶部还有20px的位置
      this.setData();
     })
    } else {
     this.scroll.refresh()
    }
   },
 setData() {
    this.$nextTick(() => {
     let arr = [1, 2, 3, 'james'];
     this.data = this.data.concat(arr)// 添加数据
     this.scroll.finishPullUp();
     this.pullingDownUp()
    })
   },
pullingDownUp() {
    this.scroll.refresh() //重新计算元素高度
   },

6.在created中加载

this.$nextTick(() => {
    this.load()
    this.setData()
   })

总结

以上所述是小编给大家介绍的vue2中引用及使用 better-scroll的方法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
document.all与WEB标准
May 13 Javascript
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
May 21 Javascript
jQuery实现图片信息的浮动显示实例代码
Aug 28 Javascript
JS中表单的使用小结
Jan 11 Javascript
javascript多行字符串的简单实现方式
May 04 Javascript
JavaScript实现模仿桌面窗口的方法
Jul 18 Javascript
js实现表单及时验证功能 用户信息立即验证
Sep 13 Javascript
如何使用angularJs
May 08 Javascript
jQuery实现的回车触发按钮事件功能示例
Mar 25 jQuery
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
node之本地服务器图片上传的方法示例
Mar 26 Javascript
JS几个常用的函数和对象定义与用法示例
Jan 15 Javascript
Vue一个案例引发的递归组件的使用详解
Nov 15 #Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
Nov 15 #Javascript
Angular事件之不同组件间传递数据的方法
Nov 15 #Javascript
vue 移动端适配方案详解
Nov 15 #Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
Nov 15 #Javascript
vue地址栏直接输入路由无效问题的解决
Nov 15 #Javascript
微信小程序自定义toast弹窗效果的实现代码
Nov 15 #Javascript
You might like
PHP的面试题集
2006/11/19 PHP
模板引擎正则表达式调试小技巧
2011/07/20 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
更靠谱的H5横竖屏检测方法(js代码)
2016/09/13 Javascript
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
Python Requests库基本用法示例
2018/08/20 Python
详解python Todo清单实战
2018/11/01 Python
python+os根据文件名自动生成文本
2019/03/21 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
2019/05/16 Python
用Python配平化学方程式的方法
2019/07/20 Python
Python猜数字算法题详解
2020/03/01 Python
PyQt5实现简单的计算器
2020/05/30 Python
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
销售类个人求职信范文
2013/09/25 职场文书
如何写你的创业计划书
2014/01/07 职场文书
总账会计岗位职责
2014/03/13 职场文书
师德师风自我评价范文
2014/09/11 职场文书
四风对照检查材料范文
2014/09/27 职场文书
交通事故委托书范本
2014/09/28 职场文书
2015年党建工作总结
2015/03/30 职场文书
肖申克救赎观后感
2015/06/02 职场文书
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python
JDK8中String的intern()方法实例详细解读
2022/09/23 Java/Android