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 相关文章推荐
基于JQuery框架的AJAX实例代码
Nov 03 Javascript
javascript showModalDialog,open取得父窗口的方法
Mar 10 Javascript
Jquery 1.42 checkbox 全选和反选代码
Mar 27 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
Apr 15 Javascript
jquery操作 iframe的方法
Dec 03 Javascript
javascript实现倒计时N秒后网页自动跳转代码
Dec 11 Javascript
js实现在网页上简单显示时间的方法
Mar 02 Javascript
百度地图api如何使用
Aug 03 Javascript
js将json格式的对象拼接成复杂的url参数方法
May 25 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
Sep 23 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 jQuery
element中table高度自适应的实现
Oct 21 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
Sony CFR 320 修复改造
2020/03/14 无线电
在PHP中使用与Perl兼容的正则表达式
2006/11/26 PHP
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
PHP zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
php做下载文件的实现代码及文件名中乱码解决方法
2011/02/03 PHP
简单的php数据库操作类代码(增,删,改,查)
2013/04/08 PHP
如何在PHP中生成随机数
2020/06/04 PHP
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
浅谈jquery点击label触发2次的问题
2016/06/12 Javascript
jQuery操作cookie
2016/08/08 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
微信小程序使用navigateTo数据传递的实例
2017/09/26 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
JS的Ajax与后端交互数据的实例
2018/08/08 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
python调用java的Webservice示例
2014/03/10 Python
python win32 简单操作方法
2017/05/25 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
人机交互程序 python实现人机对话
2017/11/14 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
Python高级编程之继承问题详解(super与mro)
2019/11/19 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
欧洲最大的拼图游戏商店:JigsawPuzzle.co.uk
2018/07/04 全球购物
师范毕业生求职自荐信
2013/09/25 职场文书
服务行业个人求职的自我评价
2013/12/12 职场文书
高中政治教学反思
2014/01/18 职场文书
学期评语大全
2014/04/30 职场文书
Python 实现Mac 屏幕截图详解
2021/10/05 Python
python绘制简单直方图(质量分布图)的方法
2022/04/21 Python