vue better-scroll插件使用详解


Posted in Javascript onJanuary 25, 2018

什么是 better-scroll

better-scroll 是一个移动端滚动的解决方案,它是基于 iscroll 的重写,它和 iscroll 的主要区别在 这里 。better-scroll 也很强大,不仅可以做普通的滚动列表,还可以做轮播图、picker 等等。

在需要的文件中添加

import BScorll from 'better-scroll';

引用的示例代码:

let scroll = new BScroll(Dom对象, {//options
 startX: 0,
 startY: 0
})

Vue获得Dom对象方法,

<div v-el:food-wrapper></div>//定义对象
this.$els.foodWrapper//获取对象

(Vue 更新数据时是异步的,所以在数据未加载完全之前,Bscroll无法获取目标内容的高度,所以会导致无法滚动的现象)

为了解决上面的问题,运用Vue的nextTick();

(简单说,因为DOM至少会在当前tick里面的代码全部执行完毕再更新。所以不可能做到在修改数据后并且DOM更新后再执行,要保证在DOM更新以后再执行某一块代码,就必须把这块代码放到下一次事件循环里面,比如setTimeout(fn, 0),这样DOM更新后,就会立即执行这块代码。)

// DOM 还没有更新
Vue.nextTick(function () {
 // DOM 更新了
})

问题:

PC页面时,点击不会被 better-scroll阻止事件,初始化,给 better-scroll派发事件,使移动端拥有点击事件,因此切换到PC端时,点击事件会被执行两次,

方法:在点击时,传 $event变量,Better-scroll插件中的 event事件和原生 js的 event有属性上得区别,Better-scroll插件派发的事件时event_constructed为true,原生点击事件是没有这个属性的,

selectMenu(index,event){
  if(!event._constructed){//如果不存在这个属性,则不执行下面的函数
    return;
  }
}

使用手册:https://github.com/ustbhuangyi/better-scroll

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery判断iframe中元素是否存在的方法
May 11 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
Aug 01 Javascript
js arguments,jcallee caller用法总结
Nov 30 Javascript
js实现点击文本框显示日期选择器特效代码分享
May 21 Javascript
Node.js重新刷新session过期时间的方法
Feb 04 Javascript
bootstrap table小案例
Oct 21 Javascript
关于javascript sort()排序你可能忽略的一点理解
Jul 18 Javascript
vue中实现滚动加载更多的示例
Nov 08 Javascript
vue mint-ui tabbar变组件使用
May 04 Javascript
vue 检测用户上传图片宽高的方法
Feb 06 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
Feb 12 Javascript
vue实现简易的双向数据绑定
Dec 29 Vue.js
jquery 获取索引值在一定范围的列表方法
Jan 25 #jQuery
MUI 实现侧滑菜单及其主体部分上下滑动的方法
Jan 25 #Javascript
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
Jan 25 #Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
Jan 25 #Javascript
mui框架 页面无法滚动的解决方法(推荐)
Jan 25 #Javascript
vue使用 better-scroll的参数和方法详解
Jan 25 #Javascript
Vue cli+mui 区域滚动的实例代码
Jan 25 #Javascript
You might like
PHP中Date()时间日期函数的使用方法小结
2011/04/20 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
JavaScript等比例缩放图片控制超出范围的图片
2013/08/06 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
js 打开新页面在屏幕中间的实现方法
2016/11/02 Javascript
微信小程序 传值取值的几种方法总结
2017/01/16 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
[01:01:01]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第一场 10.29
2020/10/29 DOTA
Python中优化NumPy包使用性能的教程
2015/04/23 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
2020/05/22 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
python处理写入数据代码讲解
2020/10/22 Python
python 对象真假值的实例(哪些视为False)
2020/12/11 Python
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
中国梦的演讲稿
2014/01/08 职场文书
三八节主持词
2014/03/17 职场文书
群众路线个人整改措施
2014/10/24 职场文书
离婚协议书范文2014(夫妻感情破裂)
2014/12/14 职场文书
2016自主招生教师推荐信范文
2015/03/23 职场文书
个人收入证明范本
2015/06/12 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python