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 function代码
May 23 Javascript
基于jquery tab切换(防止页面刷新)
May 23 Javascript
javascript学习笔记(八) js内置对象
Jun 19 Javascript
JavaScript获取元素尺寸和大小操作总结
Feb 27 Javascript
Node.js测试中的Mock文件系统详解
Nov 21 Javascript
微信小程序 地图map详解及简单实例
Jan 10 Javascript
纯js实现图片匀速淡入淡出效果
Aug 22 Javascript
微信小程序系列之自定义顶部导航功能
May 21 Javascript
JavaScript面向对象核心知识与概念归纳整理
May 09 Javascript
15分钟上手vue3.0(小结)
May 20 Javascript
在Echarts图中给坐标轴加一个标识线markLine
Jul 20 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
Aug 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
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
php 类自动载入的方法
2015/06/03 PHP
php中Snoopy类用法实例
2015/06/19 PHP
Yii2单元测试用法示例
2016/11/12 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
Array 重排序方法和操作方法的简单实例
2014/01/24 Javascript
jquery中checkbox使用方法简单实例演示
2015/11/24 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
vue2.0 实现页面导航提示引导的方法
2018/03/13 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
JS实现选项卡效果的代码实例
2019/05/20 Javascript
vue的路由映射问题及解决方案
2019/10/14 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
关于python的list相关知识(推荐)
2017/08/30 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
python判断元素是否存在的实例方法
2020/09/24 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
商场促销活动方案
2014/02/08 职场文书
国培计划培训感言
2014/03/11 职场文书
开业典礼主持词
2014/03/21 职场文书
文明寄语大全
2014/04/11 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
旷课检讨书范文
2015/01/27 职场文书
个人优缺点总结
2015/02/28 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
基于PyQt5制作一个群发邮件工具
2022/04/08 Python
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android