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 更新 JavaScript 数组的 uniq 方法
Jan 23 Javascript
IE和firefox浏览器的event事件兼容性汇总
Dec 06 Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 Javascript
js onkeypress与onkeydown 事件区别详细说明
Dec 13 Javascript
jQuery布局插件UI Layout简介及使用方法
Apr 03 Javascript
ajax与302响应代码测试
Oct 23 Javascript
自定义百度分享的分享按钮
Mar 18 Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 Javascript
jquery实现静态搜索功能(可输入搜索文字)
Mar 28 jQuery
input type=file 选择图片并且实现预览效果的实例
Oct 26 Javascript
解决vue中post方式提交数据后台无法接收的问题
Aug 11 Javascript
浅谈React中组件逻辑复用的那些事儿
May 21 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数组使用规则分析
2015/02/27 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
2013/12/10 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
小程序清理本地缓存的方法
2018/08/17 Javascript
JavaScript 空间坐标的使用
2020/08/19 Javascript
探索node之事件循环的实现
2020/10/30 Javascript
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
详解C++编程中一元运算符的重载
2016/01/19 Python
使用python画个小猪佩奇的示例代码
2018/06/06 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
什么是规则表达式
2012/05/03 面试题
给同学的道歉信
2014/01/16 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
工作态度恶劣检讨书
2015/05/06 职场文书
2016年小学“我们的节日·中秋节”活动总结
2016/04/05 职场文书
MATLAB 全景图切割及盒图显示的实现步骤
2021/05/14 Python
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技