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 相关文章推荐
表单元素与非表单元素刷新区别详细解析
Nov 06 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
Dec 31 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
Jun 08 Javascript
jQuery zclip插件实现跨浏览器复制功能
Nov 02 Javascript
基于jquery实现左右按钮点击的图片切换效果
Jan 27 Javascript
Javascript实现代码折叠功能
Aug 25 Javascript
简单谈谈ES6的六个小特性
Nov 18 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
Dec 18 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
Jan 31 Javascript
自定义javascript验证框架示例【附源码下载】
May 31 Javascript
JavaScript实现字符串与HTML格式相互转换
Mar 17 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
Jul 24 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
Terran魔法科技
2020/03/14 星际争霸
paypal即时到账php实现代码
2010/11/28 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
js验证输入是否为手机号码或电话号码示例
2013/12/30 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
js HTML5多媒体影音播放
2016/10/17 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
JS jQuery使用正则表达式去空字符的简单实现代码
2017/05/20 jQuery
JS实现手写parseInt的方法示例
2017/09/24 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
vue 父组件通过v-model接收子组件的值的代码
2019/10/27 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
Python+树莓派+YOLO打造一款人工智能照相机
2018/01/02 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
Python应用库大全总结
2018/05/30 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
html5简介及新增功能介绍
2020/05/18 HTML / CSS
StubHub德国:购买和出售门票
2017/09/06 全球购物
Solaris操作系统的线程机制
2015/07/28 面试题
竞聘书怎么写,如何写?
2014/03/31 职场文书
关于运动会的广播稿
2014/09/22 职场文书
部门2014年度工作总结
2014/11/12 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
导游词之丹东鸭绿江
2019/10/24 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL