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 相关文章推荐
给网站上的广告“加速”显示的方法
Apr 08 Javascript
JS继承--原型链继承和类式继承
Apr 08 Javascript
JS之Date对象和获取系统当前时间详解
Jan 13 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
Dec 08 Javascript
详解Javascript中的Object对象
Feb 28 Javascript
js实现将json数组显示前台table中
Jan 10 Javascript
原生javascript实现图片放大镜效果
Jan 18 Javascript
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
基于jQuery解决ios10以上版本缩放问题
Nov 03 jQuery
深入koa-bodyparser原理解析
Jan 16 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
May 07 Javascript
JS+DIV实现拖动效果
Feb 11 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
通过文字传递创建的图形按钮
2006/10/09 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
实现动画效果核心方式的js代码
2013/09/27 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
js基于cookie记录来宾姓名的方法
2016/07/19 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
package.json文件配置详解
2017/06/15 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
使用python脚本自动创建pip.ini配置文件代码实例
2019/09/20 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
Django数据库操作之save与update的使用
2020/04/01 Python
Xadmin+rules实现多选行权限方式(级联效果)
2020/04/07 Python
css图标制作教程制作云图标
2014/01/19 HTML / CSS
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
静态成员和非静态成员的区别
2012/05/12 面试题
大学生志愿者感言
2014/01/15 职场文书
小学教师管理制度
2014/01/18 职场文书
早会主持词
2014/03/17 职场文书
小学五年级学生评语
2014/04/22 职场文书
个人课题方案
2014/05/08 职场文书
个人职业及收入证明
2014/10/13 职场文书
起诉书范文
2015/05/20 职场文书
CSS基础详解
2021/10/16 HTML / CSS
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
Redis特殊数据类型bitmap位图
2022/06/01 Redis