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 相关文章推荐
自适应图片大小的弹出窗口
Jul 27 Javascript
服务器安全设置的几个注册表设置
Jul 28 Javascript
可以将word转成html的js代码
Apr 11 Javascript
javascript 当前日期转化为中文的实现代码
May 13 Javascript
Ext GridPanel加载完数据后进行操作示例代码
Jun 17 Javascript
js获取当前日期前七天的方法
Feb 28 Javascript
浅谈javascript中的加减时间
Jul 12 Javascript
React Native之ListView实现九宫格效果的示例
Aug 02 Javascript
JS中promise化微信小程序api
Apr 12 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
微信小程序实现banner图轮播效果
Jun 28 Javascript
js实现中文实时时钟
Jan 15 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
超级简单的发送邮件程序
2006/10/09 PHP
一个好用的分页函数
2006/11/16 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
PHP curl使用实例
2015/07/02 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
Highcharts学习之数据列
2016/08/03 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
详解VUE中的插值( Interpolation)语法
2020/10/18 Javascript
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
keras.layer.input()用法说明
2020/06/16 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
Django缓存Cache使用详解
2020/11/30 Python
在html5的Canvas上绘制椭圆的几种方法总结
2013/01/07 HTML / CSS
创伤外科专业推荐信范文
2013/11/19 职场文书
致200米运动员广播稿
2014/02/06 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
小班上学期个人总结
2015/02/12 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
企业宣传稿范文
2015/07/23 职场文书
表扬信范文
2019/04/22 职场文书
SQL SERVER触发器详解
2022/02/24 SQL Server
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js