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 相关文章推荐
css把超出的部分显示为省略号的方法兼容火狐
Jul 23 Javascript
Javascript 篱式条件判断
Aug 22 Javascript
最新的10款jQuery内容滑块插件分享
Sep 18 Javascript
修复ie8&amp;chrome下window的resize事件多次执行
Oct 20 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
Apr 23 Javascript
javascript 数组排序函数sort和reverse使用介绍
Nov 21 Javascript
angularJS 中$attrs方法使用指南
Feb 09 Javascript
js仿QQ邮箱收件人选择与搜索功能
Feb 10 Javascript
基于Vue框架vux组件库实现上拉刷新功能
Nov 28 Javascript
jQuery实现表格隔行换色
Sep 01 jQuery
使用vue-router在Vue页面之间传递数据的方法
Jul 15 Javascript
JavaScript 防篡改对象的用法示例
Apr 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
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
php命令行用法入门实例教程
2014/10/27 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
php+mysqli实现批量替换数据库表前缀的方法
2014/12/29 PHP
php实现字符串翻转的方法
2015/03/27 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
优化WordPress中文章与评论的时间显示
2016/01/12 PHP
php 使用redis锁限制并发访问类示例
2016/11/02 PHP
js实现一个省市区三级联动选择框代码分享
2013/03/06 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
2017/06/13 jQuery
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
react学习笔记之state以及setState的使用
2017/12/07 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
Python 获得13位unix时间戳的方法
2017/10/20 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
英国排名第一的最新设计师品牌手表独立零售商:TIC Watches
2016/09/24 全球购物
好的自荐信包括什么内容
2013/11/07 职场文书
给同事的道歉信
2014/01/11 职场文书
自行车租赁公司创业计划书
2014/01/28 职场文书
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
员工试用期自我评价
2014/09/18 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android
vue递归实现树形组件
2022/07/15 Vue.js