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 相关文章推荐
ext jquery 简单比较
Apr 07 Javascript
IE6/7/8/9不支持exec的简写方式
May 25 Javascript
JS原型对象通俗&quot;唱法&quot;
Dec 27 Javascript
使用js简单实现了tree树菜单
Nov 20 Javascript
js检测输入内容全为空格的方法
May 03 Javascript
使用canvas实现仿新浪微博头像截取上传功能
Sep 02 Javascript
jquery中的常见问题及快速解决方法小结
Jun 14 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
Jan 18 Javascript
浅谈对Angular中的生命周期钩子的理解
Jul 31 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
Jul 03 Javascript
解决VUE-Router 同一页面第二次进入不刷新的问题
Jul 22 Javascript
vue3.0 加载json的方法(非ajax)
Oct 26 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学习笔记之字符串编码的转换和判断
2014/05/22 PHP
yii的CURD操作实例详解
2014/12/04 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
PHP程序员不应该忽略的3点
2015/10/09 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
2017/09/30 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
python发送arp欺骗攻击代码分析
2014/01/16 Python
对pandas的层次索引与取值的新方法详解
2018/11/06 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
Python读取Excel一列并计算所有对象出现次数的方法
2020/09/04 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
CSS3正方体旋转示例代码
2013/08/08 HTML / CSS
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
生日宴会策划方案
2014/06/03 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
吴仁宝观后感
2015/06/09 职场文书
Python答题卡识别并给出分数的实现代码
2021/06/22 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
2021/06/28 Python