解决首页中Better-scroll可滚动区域的问题
在首页时候,使用BetterScroll插件的时候,滚动的时候经常会卡顿。Better-scroll在决定有多少区域可以滚动时,是根据ScrollerHeight属性决定的。ScrollerHeight属性时根据Better-Scroll的content中的子组件的高度。但是,刚开始在计算scrollerHeight属性时,是没有将图片计算在内的。所以计算出来的高度是错误的,后来图片加载进来的时候,即使出现了新的高度,但是ScrollerHeight属性并没有进行更新,才会滚动出现问题。
解决这个问题的话,我们只需要监听每一张图片是否加载完成,只要有一张图片加载完成了,就执行一次refresh()。来稍微解释下refresh函数,其作用为,重新计算 better-scroll,当 DOM 结构发生变化的时候务必要调用确保滚动的效果正常。监听图片的加载完成的话,只需要在goodsitem中的img中,使用@load进行监听。而goodsitem与home并不属于父子组件关系。而如果在这里使用,vuex,又感觉过于杂糅,因此在这里使用了事件总线。
首先,先记录下Vue事件总线的使用方法,现在main.js中创建$bus,这样即可全局使用,那么我们在main.js中首先加入,如下一行代码:
Vue.prototype.$bus= new Vue()
之后,在需要传出的goodsitem中,对其img进行监听,且使用事件总线传出:
<template>
<div class="goodsitem">
<img :src="goodsitem.show.img" @load="imageload">
</div>
</template> <script>
export default {
name: "goodsitem",
methods:{
imageload(){
this.$bus.$emit("itemimageload")
}
}
}
</script>
之后,在home.vue中添加如下代码:
mounted() {
//3.监听item中图片加载完成
this.$bus.$on("itemimageload",()=>{
console.log("-----");
this.$refs.scroll.refresh()
})
}
再在scroll.vue中的methods里面如下处理即可:
methods:{
refresh(){
// console.log("----1----");
this.scroll.refresh()
}
}
解决首页中Better-scroll可滚动区域的问题的更多相关文章
- 解决iPhone中overflow:scroll;滑动速度慢或者卡的问题
在移动端html中经常出现横向/纵向滚动的效果,但是在iPhone中滚动速度很慢,感觉不流畅,有种卡卡的感觉,但是在安卓设备上没有这种感觉; 要解决这个问题很简单: 一行代码搞定 -webkit-ov ...
- 解决vs2013中MVC/WebApi不显示添加区域菜单选项
在构建项目过程中,安装各种package或者卸载的过程中,导致了添加区域菜单选项不显示,导致后面无法添加区域. 在网上查找各种资料,发现原来是工程文件(项目名.csproj)缺少mvc引用. 工程文件 ...
- 全面理解iOS开发中的Scroll View[转]
from:http://mobile.51cto.com/hot-430409.htm 可能你很难相信,UIScrollView和一个标准的UIView差异并不大,scroll view确实会多一些方 ...
- 完美解决,浏览器下拉显示网址问题 | 完美解决,使用原生 scroll 写下拉刷新
在 web 开发过程中我们经常遇到,不想让用户下拉看到我的地址,也有时候在 div 中没有惯性滚动,就此也出了 iScroll 这种关于滚动条的框架,但是就为了一个体验去使用一个框架好像又不值得,今天 ...
- geotrellis使用(十六)使用缓冲区分析的方式解决投影变换中边缘数据值计算的问题
Geotrellis系列文章链接地址http://www.cnblogs.com/shoufengwei/p/5619419.html 目录 前言 问题探索 采样说明 实现方案 总结 一.前言 ...
- m.jd.com首页中的js效果
m.jd.com中的部分js效果 昨天把m.jd.com的首页布局写好了,今天写一下首页中部分js效果.头部背景色透明度的改变,焦点图轮播,京东快报的小轮播,以及秒杀倒计时.这里html,css样式就 ...
- 解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题
下面两种现象,用同一种方法解决 1.解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题 2.突然有一天首页访问图片很慢,至少隔20多秒所有图片才会出来.(解析:app使 ...
- 解决boostrap中,iframe渲染下,苹果手机横向无法显示剩余内容问题
描述: 问题解决了,采用的手势拖动显示剩余内容,并不是有了横向滚动条 在head标签中加入 <head> <meta charset="utf-8"> &l ...
- CSS中overflow:scroll怎么设置只上下滚动而不左右滚动
CSS中"overflow:scroll"默认是左右,上下都滚动.怎么设置只上下滚动而不左右滚动,下面有个不错的解决方法 CSS中"overflow:scroll&quo ...
随机推荐
- day5(图片验证码接口)
1.django缓存设置 django的六种缓存(mysql+redis) :https://www.cnblogs.com/xiaonq/p/7978402.html#i6 1.1安装Django缓 ...
- ERP费用报销操作与设计--开源软件诞生31
赤龙ERP费用报销讲解--第31篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redra ...
- 大厂是如何用DevCloud流水线实现自动化部署Web应用的?
DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师. 官方网站:devui.design Ng组件库:ng-devui(欢 ...
- 第8.28节 Python中使用__setattr__定义实例变量和实例方法
一. 引言 根据前面章节介绍的内容,我们知道实例变量.实例方法的定义可以通过以下方法进行: 在类体中直接定义实例变量.实例方法: 在实例方法中定义实例变量.实例方法: 在类体外调用方使用赋值语句赋值定 ...
- 第15.3节 PyCharm程序调试功能介绍
一. 代码调试 点击工具栏的调试按钮(如下图蓝色圈标记按钮)可以进行程序调试,可以在调试前先设置断点,断点设置就是在打开文件的行与前面的行号之间用鼠标单击进行设置和取消(如下图蓝色下划线上面的实体圆点 ...
- MDX非常规百分比算法-过滤数据后的百分比
网上有很多关于占比的帖子,基本上都是按照层次结构来做的,比如某个子项占总体的百分比(\all).某个子项占父项的百分比(\parent).某个子项占其祖先的百分比(\ancestor)....等等,如 ...
- 安装虚拟机(centos7)
安装VMware 15 这里就不介绍VMware如何安装了,可以自行百度安装. 准备centos7镜像 我选择的是网易的镜像源,地址是:http://mirrors.163.com/centos/7/ ...
- ollvm在VS2017下编译
0x1,首先介绍一下编译环境配置 1.UE4.25 2.vs2017(15.9),注:2019编译总是出现错误 3.cmake3.18.5,cmake的作用是为ollvm源码编译成适合于在vs2017 ...
- 使用.Net Core做个爬虫
最近接手一个新项目,爬亚马逊分类.商品数据.记得大学的时候,自己瞎玩,写过一个爬有缘网数据的程序,那个时候没有考虑那么多,写的还是单线程,因为网站没有反爬,就不停的一直请求,记得放到实验室电脑上一天, ...
- Java集合源码分析(一)——集合框架
集合框架 集合框架如图所示 Java集合是Java提供的工具包,主要包括常用的数据结构,包括:集合.链表.队列.栈.数组.映射等. 集合的工具包位置是java.util.* 集合主要可以分为五类: L ...