irpas技术客

小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面_笑得好虚伪

大大的周 5311

设置、获取缓存,发送请求,渲染数据,转发当前页面 设置、获取本地缓存设置本地缓存(wx.setStorage)获取本地缓存 (wx.getStorageSync)在微信开发工具如何查看是否有本地缓存设置缓存实例:获取缓存实例 发送请求渲染数据转发当前页面下拉刷新页面

设置、获取本地缓存 设置本地缓存(wx.setStorage) setCache:function (key,value) { wx.setStorage({ key:key, data:value }); }, 获取本地缓存 (wx.getStorageSync) getCache:function (key) { var value = undefined; try { value=wx.getStorageSync(key) } catch (e) {} return value } 在微信开发工具如何查看是否有本地缓存

设置缓存实例:

获取缓存实例

发送请求

小程序需要发送请求一般都是发生了某些事件需要调用后台的接口,发送请求用的是wx.request, 详细参数可以去看看官方文档: https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html

wx.request({ url:app.buildUrl("/food/search"), header:app.getRequestHeader(), data:{ "cat_id":that.data.activeCategoryId, "mix_kv":that.data.searchInput, "p":that.data.p }, success:function (res) { var reps = res.data; } });

渲染数据

当我们发送请求后服务器会给我们想要的数据,这时就需要如何渲染数据了 需要在当前js文件page的data设置变量名: 在发送请求后判断服务返回的状态码是否是200,然后使用that.setData 设置在data后还需再在wxml中去取出来

转发当前页面

需要wxml中指定这个

<button open-type="share" >分享</button>

在js中添加这个函数,指定了分享会自动帮我们调用这个函数, 因为api更新的原因已经没有了success方法了所以只能退而求其次变成只要点击分享了、就调后台接口(不管是否成功) onShareAppMessage还有很多参数可以去看看官方文档 https://developers.weixin.qq.com/minigame/dev/api/share/wx.onShareAppMessage.html

//分享当前页面 onShareAppMessage:function () { var that=this; //我这个转发后调用了后台接口,所以需要使用这个函数去发送请求 this.share_success(); return { title: that.data.info.name, path: '/page/food/info?id=' + that.data.id } }, 下拉刷新页面

只需要在page添加这个函数就可以了,然后去调用发送请求的相关函数

onReachBottom:function () { var that=this; //延迟函数,为了看起不突兀 setTimeout(function () { that.getFoodList(); },500) }, getFoodList:function () { var that=this; if (that.processing){ return } if (! that.data.loadingMoreHidden){ console.log(that.loadingMoreHidden); return } that.setData({ processing:true }); wx.request({ url:app.buildUrl("/food/search"), header:app.getRequestHeader(), data:{ "cat_id":that.data.activeCategoryId, "mix_kv":that.data.searchInput, "p":that.data.p }, success:function (res) { var reps = res.data; if (reps.code != 200) { app.alert({"content":reps.msg}); return } var goods=reps.data.list; that.setData({ //新的数据加上原来的数据使用concat goods:that.data.goods.concat(goods), //当前页数来之后+1 p:that.data.p+1, //为服务器是否执行这条命令 processing:false }); if (reps.data.has_more==0){ that.setData({ loadingMoreHidden:false }); } } }) }


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #key #value