博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
better-scroll 遇到的问题 1
阅读量:6487 次
发布时间:2019-06-24

本文共 854 字,大约阅读时间需要 2 分钟。

备注:better-scroll 实现下拉,是父子层的结构,父层的第一个子元素,如果超出父容器,那么就可以实现下拉

问题:  今天在使用better-scroll实现下拉功能,遇到了一个问题 " 有时候不能下拉到底部,有时候能 "

解决过程1:

  出现这个问题,我想肯定是 refresh 方法调用的时机不正确,仔细看看代码,发现可能问题的存在原因:原来我的代码有个异步请求,2个请求都是有v-for循环,我只是在第二个异步请求调用完成,才调用 refresh 方法,所以如果第一个请求先完成,那么就没有问题,但是如果第二个请求先完成,那么dom渲染完就调用refresh 方法计算高度,之后第一个请求完成了,又重新操作dom,此时没有调用refresh,所以就有问题 

解决过程2:

  后来改了代码,两个异步请求完成都调用refresh 方法重新计算高度,不过,过来一段时间,测试的同事,跑过来说那个问题还是存在,不过重现几率比之前少,作为有节操的开发人员,肯定不能说出现的机率少就不理,对吧?所以我又仔细看看我代码到底哪里又有什么问题,看了半小时,实在是想不到,更加让我狂抓的是我都不能重现问题。

  没有办法了,只得去找测试,问清楚具体重现步骤是什么,重现的机型是什么, 她说步骤没有什么特别,就按照流程来啊,机型是iphone5,于是我就借过来看看。最后试了10多分钟,终于重现了,重现的时候,看到了图片在加载中的loading ,我想我明白了问题的所在。

  原来,请求回来的数据,是有一些图片的连接地址的,由于图片加载,也是异步的,图片的宽度是图片撑开的,图片没有加载完成,宽度就是0,所以,如果图片加载完成后,2个异步请求也完成了,那就不会调用refresh 方法重新计算高度,所以就出现问题

最后解决方案:

给img标签绑定 load事件 , 加载完成,就调用refresh 方法重新计算高度

转载于:https://www.cnblogs.com/vs1435/p/7058321.html

你可能感兴趣的文章
创建线程的几种方式
查看>>
【leetcode】solution in java——Easy5
查看>>
Qt之创建自定义类型
查看>>
canvas实现涂鸦板
查看>>
可扩展架构取舍
查看>>
翻译记忆软件-塔多思TRADO经典教程_2
查看>>
3D Slicer 4.7.0 VS 2010 Compile 编译
查看>>
使用js在网页上记录鼠标划圈的小程序
查看>>
[macOS] keychain的跳坑之旅!git拉取的权限问题
查看>>
bootstrap的两种在input框里面增加一个图标的方式
查看>>
算法笔记_080:蓝桥杯练习 队列操作(Java)
查看>>
Solidworks 如何绘制投影曲线
查看>>
Linux 文件夹含义(转)
查看>>
c++构造函数具体解释
查看>>
利用ROS工具从bag文件中提取图片
查看>>
JDBC2.0操作:结果集,更新,插入,删除,批处理语句
查看>>
HDU 1710 Binary Tree Traversals(二叉树)
查看>>
C#知识点总结系列
查看>>
POJ 3463 Sightseeing
查看>>
[转]真正了解CSS3背景下的@font face规则
查看>>