vue中实现移动端的scroll滚动方法


Posted in Javascript onMarch 03, 2018

一、首先安装安装

npm install better-scroll --save

二、 并在组件中引用

import BScroll from ‘better-scroll'

template中引用指向将要滚动的DOM元素

根据官方文档ref属性的说明,我们可以这样将DOM元素引用

vue中实现移动端的scroll滚动方法

vue中实现移动端的scroll滚动方法

三、 在methods中注册_initScroll方法,这个方法是对better-scroll的实例化,并且这个方法将来会在页面DOM结构渲染后被执行

methods: {
   _initScroll(){
    this.menuScroll = new BScroll(this.$refs.menuWrapper, {})
    this.foodsScroll = new BScroll(this.$refs.foodsWrapper, {})
   }
  }
 }

四、在created()方法中,后台数据获取成功之后的回调中,调用_initScroll();

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

这里一定要注意,数据获取成功后,直接Dom不一定是数据获取之后的渲染,所以要利用this.nextTick()方法,在this.nextTick的回调中使用_initScroll();

看看官方关于this.$nextTick()的说明

vue中实现移动端的scroll滚动方法

所以我们在项目中应该这样书写:

vue中实现移动端的scroll滚动方法

以上这篇vue中实现移动端的scroll滚动方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery validation验证身份证号,护照,电话号码,email(实例代码)
Nov 06 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
Mar 13 Javascript
AngularJS基础 ng-selected 指令简单示例
Aug 03 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
Dec 23 Javascript
简单实现jQuery多选框功能
Jan 09 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
Jul 05 Javascript
JS实现提交表单前的数字及邮箱校检功能
Nov 13 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
Dec 18 Javascript
vue项目base64字符串转图片的实现代码
Jul 13 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
Dec 14 Javascript
详解jQuery中的prop()使用方法
Jan 05 jQuery
用vue 实现手机触屏滑动功能
May 28 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
Mar 03 #Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
Mar 03 #Javascript
Vue2.0中集成UEditor富文本编辑器的方法
Mar 03 #Javascript
js操作二进制数据方法
Mar 03 #Javascript
vue2.0使用swiper组件实现轮播的示例代码
Mar 03 #Javascript
Vue的轮播图组件实现方法
Mar 03 #Javascript
在Vue中使用Compass的方法
Mar 02 #Javascript
You might like
PHP中文汉字验证码
2007/04/08 PHP
php遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
jquery操作select option 的代码小结
2011/06/21 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
JS实现黑色大气的二级导航菜单效果
2015/09/18 Javascript
微信小程序 网络API 上传、下载详解
2016/11/09 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
Vue数据监听方法watch的使用
2018/03/28 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
python 定时修改数据库的示例代码
2018/04/08 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
python实现桌面壁纸切换功能
2019/01/21 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
事业单位个人应聘自荐信
2013/09/21 职场文书
汽车专业毕业生推荐信
2013/11/12 职场文书
会计出纳岗位职责
2013/12/25 职场文书
通信生自我鉴定
2014/01/18 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
银行自荐信怎么写
2015/03/05 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
js中Object.create实例用法详解
2021/10/05 Javascript
python基础之类方法和静态方法
2021/10/24 Python
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js
bose降噪耳机音能消除人声吗
2022/04/19 数码科技