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 相关文章推荐
JavaScript 读取元素的CSS信息的代码
Feb 07 Javascript
jQuery EasyUI API 中文文档 可调整尺寸
Sep 29 Javascript
jQuery随便控制任意div隐藏的方法
Jun 28 Javascript
js导航栏单击事件背景变换示例代码
Jan 13 Javascript
深入学习JavaScript中的原型prototype
Aug 13 Javascript
JS组件Bootstrap Table使用实例分享
May 30 Javascript
js判断输入字符串是否为空、空格、null的方法总结
Jun 14 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
Sep 14 Javascript
jQuery+json实现动态创建复杂表格table的方法
Oct 25 Javascript
RequireJS简易绘图程序开发
Oct 28 Javascript
详解小程序循环require之坑
Mar 08 Javascript
Element Cascader 级联选择器的使用示例
Jul 27 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 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
(function(){})()的用法与优点
2007/03/11 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
如何编写jquery插件
2017/03/29 jQuery
基于Vue2.0+ElementUI实现表格翻页功能
2017/10/23 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
微信小程序左右滑动的实现代码
2017/12/15 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
django session完成状态保持的方法
2018/11/27 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
SQL Server面试题
2016/10/17 面试题
演讲比赛获奖感言
2014/02/02 职场文书
中学生运动会入场词
2014/02/12 职场文书
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
分公司经理任命书
2014/06/05 职场文书
物流专业求职信
2014/06/30 职场文书
重阳节活动总结
2014/08/27 职场文书
作风建设年活动实施方案
2014/10/24 职场文书
护士2015年终工作总结
2015/04/29 职场文书
如何写好闭幕词
2019/04/02 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
python单向链表实例详解
2022/05/25 Python