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 相关文章推荐
JavaScript语句可以不以;结尾的烦恼
Mar 08 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
May 22 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
Sep 20 Javascript
浅谈JavaScript编程语言的编码规范
Oct 21 Javascript
兼容IE和FF的图片上传前预览js代码
May 28 Javascript
JS交换变量的方法
Jan 21 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
Jan 19 Javascript
常用原生js自定义函数总结
Nov 20 Javascript
vue webpack实用技巧总结
Apr 24 Javascript
详解小程序云开发数据库
May 20 Javascript
微信小程序实现张图片合成为一张并下载
Jul 16 Javascript
jQuery实现日历效果
Sep 11 jQuery
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
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
php中的时间处理
2006/10/09 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
php判断linux下程序问题实例
2015/07/09 PHP
jQuery 白痴级入门教程
2009/11/11 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
2013/06/03 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
jQuery的end()方法使用详解
2015/07/15 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
Python正则表达式的使用范例详解
2014/08/08 Python
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
python实现FTP服务器服务的方法
2017/04/11 Python
Python批量查询域名是否被注册过
2017/06/21 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
2018/04/18 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
意大利单身交友网站:Meetic
2020/07/12 全球购物
会计求职信范文
2014/05/24 职场文书
简单租房协议书
2014/10/21 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
个人售房合同协议书
2016/03/21 职场文书
学生会2016感恩节活动小结
2016/04/01 职场文书
如何利用Python实现一个论文降重工具
2021/07/09 Python