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进阶教程(第四课第一部分)
Apr 05 Javascript
javascript 可以拖动的DIV(二)
Jun 26 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
Feb 03 Javascript
js判断鼠标同时离开两个div的思路及代码
May 31 Javascript
jQuery中ajax的load()与post()方法实例详解
Jan 05 Javascript
浅谈angularjs module返回对象的坑(推荐)
Oct 21 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
JS控件bootstrap datepicker使用方法详解
Mar 25 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
May 17 Javascript
Webpack中雪碧图插件使用详解
May 25 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
Nov 09 Javascript
详解Vue的options
May 15 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
各种战术和打法的原创者
2020/03/04 星际争霸
简单的PHP缓存设计实现代码
2011/09/30 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
Cookie跨域问题解决方案代码示例
2020/11/24 PHP
页面版文本框智能提示JS代码
2009/11/20 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
ES6 新增的创建数组的方法(小结)
2019/08/01 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
vue中改变滚动条样式的方法
2020/03/03 Javascript
使用PDB模式调试Python程序介绍
2015/04/05 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
用python爬取租房网站信息的代码
2018/12/14 Python
关于阿里云oss获取sts凭证 app直传 python的实例
2019/08/20 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
Auchan Direct波兰:欧尚在线杂货店
2016/10/19 全球购物
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
玩具公司的创业计划书
2013/12/31 职场文书
咖啡店的创业计划书,让你hold不住
2014/01/03 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
学生干部培训方案
2014/06/12 职场文书
邓小平理论心得体会
2014/09/09 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
语文教师个人工作总结
2015/02/06 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书