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 相关文章推荐
ajaxControlToolkit AutoCompleteExtender的用法
Oct 30 Javascript
动态创建的表格单元格中的事件实现代码
Dec 30 Javascript
IE8 中使用加速器(Activities)
May 14 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
Jan 21 Javascript
Extjs根据条件设置表格某行背景色示例
Jul 23 Javascript
JavaScript显示当前文档最后修改日期的方法
Mar 19 Javascript
JavaScript 事件入门知识
Apr 13 Javascript
jQuery EasyUI封装简化操作
Sep 18 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
Sep 22 Javascript
Angular中响应式表单的三种更新值方法详析
Aug 22 Javascript
使用cropper.js裁剪头像的实例代码
Sep 29 Javascript
JavaScript 实现继承的几种方式
Feb 19 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 多个submit提交表单 处理方法
2009/07/07 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
ArrayList类(增强版)
2007/04/04 Javascript
js word表格动态添加代码
2010/06/07 Javascript
一些常用且实用的原生JavaScript函数
2010/09/08 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
jquery form 隐藏的input 选择
2014/04/29 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
js绘制一条直线并旋转45度
2020/08/21 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
Python中的二维数组实例(list与numpy.array)
2018/04/13 Python
Python实现扫码工具的示例代码
2020/10/09 Python
python利用faker库批量生成测试数据
2020/10/15 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
python上下文管理器异常问题解决方法
2021/02/07 Python
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
eBay加拿大站:eBay.ca
2019/06/20 全球购物
普天C++笔试题
2016/03/20 面试题
创先争优承诺书范文
2014/03/31 职场文书
教师读书活动总结
2014/05/07 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
护士先进个人总结
2015/02/13 职场文书
小学英语教学经验交流材料
2015/11/02 职场文书
导游词之阆中古城
2019/12/23 职场文书
Flask搭建一个API服务器的步骤
2021/05/28 Python
人民币符号
2022/02/17 杂记