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 相关文章推荐
js 覆盖和重载 函数
Sep 25 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
Apr 24 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
Mar 02 Javascript
React.js入门实例教程之创建hello world 的5种方式
May 11 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
Jul 13 Javascript
Vue源码学习之初始化模块init.js解析
Nov 02 Javascript
three.js中文文档学习之创建场景
Nov 20 Javascript
基于JavaScript中标识符的命名规则介绍
Jan 06 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
微信小程序移动拖拽视图-movable-view实例详解
Aug 17 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
Dec 06 Javascript
TypeScript魔法堂之枚举的超实用手册
Oct 29 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设计模式 Visitor 访问者模式
2011/06/28 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
解析JavaScript中的标签语句
2013/06/19 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
2014/01/07 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
javascript标准库(js的标准内置对象)总结
2018/05/26 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
用python实现面向对像的ASP程序实例
2014/11/10 Python
python3库numpy数组属性的查看方法
2018/04/17 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
Python实现提取XML内容并保存到Excel中的方法
2018/09/01 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
详解Python 切片语法
2019/06/10 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
pytorch制作自己的LMDB数据操作示例
2019/12/18 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
利用纯CSS3实现文字向右循环闪过效果实例(可用于移动端)
2017/06/15 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
致铅球运动员加油稿
2014/02/13 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
写给媳妇的检讨书
2015/05/06 职场文书
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript