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 相关文章推荐
如何在标题栏显示框架内页面的标题
Feb 03 Javascript
原生JavaScript实现合并多个数组示例
Sep 21 Javascript
JavaScript获取按钮所在form表单id的方法
Apr 02 Javascript
使用AJAX实现Web页面进度条的实例分享
May 06 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
Aug 22 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
Oct 18 Javascript
Vue slot用法(小结)
Oct 22 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
Dec 28 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
Nov 13 Javascript
微信小程序canvas截取任意形状的实现代码
Jan 13 Javascript
详解node和ES6的模块导出与导入
Feb 19 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
Jul 19 Javascript
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
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
2016/12/27 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
python计算最小优先级队列代码分享
2013/12/18 Python
python编写的最短路径算法
2015/03/25 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
2017/07/07 Python
使用python为mysql实现restful接口
2018/01/05 Python
python3的输入方式及多组输入方法
2018/10/17 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
python opencv调用笔记本摄像头
2019/08/28 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
毕业自我鉴定
2013/11/05 职场文书
电子商务个人自荐信
2013/12/12 职场文书
2014年党务公开方案
2014/05/08 职场文书
春节慰问信范文
2015/02/15 职场文书
工会经费申请报告
2015/05/15 职场文书
nginx 多个location转发任意请求或访问静态资源文件的实现
2021/03/31 Servers
jQuery实现影院选座订座效果
2021/04/13 jQuery
anaconda python3.8安装后降级
2021/06/11 Python