微信小程序——断网重新加载的问题
来源:互联网 发布:渝商创投网络借贷 编辑:程序博客网 时间:2024/04/28 11:09
微信小程序——断网重新加载的问题
这几天一直在修改微信小程序的bug,很是头疼,由于以前没怎么接触过,导致bug修改进度很慢,尤其是今天这个断网重新加载的问题,改了一天,也没弄出个所以然。
由于微信小程序自带的API中缺少刷新的,所以网上查阅资料,有关的解法如下,亲测可以执行。
可以封装了一下wx.request来判断是否断网,及断网后记录本次请求
代码如下:
function wxRequest (obj, cb, page, type) { var isOne = true var cachFn = function () { wx.request({ url: obj.url, data: obj.data || {}, method: obj.method || 'GET', success: function (res) { cb.call(page, res) if (!page.data.isNet) { page.setData({ isNet: true }) } }, // fail执行时当断网处理 fail: function () { // 防止fail 有时会执行两次,影响渲染 if (!isOne) { return } page.setData({ isNet: false, isRequested: false }) // 记录本次请求,加载时,执行page实例的reloadFn即可 page.reloadFn = wxRequest(obj, cb, page, 1) isOne = false } }) } if (type) { page.isRequested = true } return type ? cachFn : cachFn() }
应用:
let data = { url: '', data: {}, method: '' } wxTools.wxRequest(data, (res) => { // 数据渲染 this.setData({}) }, this)
其实,断网重新加载完全可以换个思路去解决,比如,当网络断开时,你可以给用户一个提示,告诉用户网络连接有问题,重新连接之后,让用户自己去点击加载的按钮,也就相当于重新加载了。
还有一个近期解决的bug,那就是当wxml或者html中,你想隐藏一个标签A(不在页面中显示,并且不占用页面的空间),但是A标签上有你js文件想要获取的内容,这时,你就可以将你想隐藏的A标签包裹在另一个标签中,然后将A标签父元素的 css 样式设置为{overflow:hidden,height:0}
阅读全文
1 0
- 微信小程序——断网重新加载的问题
- 当Android程序长期在后台运行再打开的时候fragment重新加载问题
- 有关dom树重新加载的问题
- UEditor不能重新加载的问题
- eclipse 重新加载项目遇到的问题
- 关于jqGrid表格重新加载的问题
- html重新加载问题
- 程序重新打开的时候无法加载出新加…
- 转屏后Activity重新加载问题
- vs2012 重新加载 崩溃问题
- 解决Firefox中按下回车键重新加载页面的问题
- ubuntu重新加载samb配置文件的一些问题
- firefox中隐藏flash导致 flash重新加载的问题
- 改变css导致Flash swf 重新加载的问题
- firefox中隐藏flash导致 flash重新加载的问题
- Universal-Image-Loader图片重新加载的问题
- 【jQWidgets】jqxGrid控件在页面上重新加载的问题
- Glide页面加载刷新重新加载,以及刷新页面图片变形的问题
- Expires、Last-Modified、Etag缓存控制
- Mac下配置Tomcat并在Eclipse添加
- classpath和classpath*的区别
- 20170801 JAVA输出杨辉三角(非等腰三角形)
- 【C语言数组】蛇形填数
- 微信小程序——断网重新加载的问题
- Android软件开发之盘点所有Dialog对话框大合集
- 四、Activiti 部署的三种方式与部署查询流程查询源码
- DOM---文档对象模型(Document Object Model,简称DOM)
- CCF节日
- 20170801 JAVA用三重循环解决比赛分组逻辑问题
- 对于一串数据如何判别是否为IP地址
- FreeMarker之制作自定义标签及遍历
- 单例设计模式(饿汉式和懒汉式)