在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
微信小程序缓存获取数据教程 数据常用于哪里? 对于数据需求较小的历史记录、购物车事件等都可以使用 storage 进行缓存, Storage 将数据存储在本地缓存中指定的 key 中,如果重复会覆盖掉原来该 key 对应的内容 可以参照微信小程序开发手册中的Storage 如何使用异步接口进行数据缓存? 将数据存储在本地缓存中指定的key中,会覆盖掉原来该key对应的内容,这是一个异步接口。 OBJECT参数说明: 示例代码 wx.setStorage({ key:key, 当 setStorage 之后可以去到开发者工具里面查看 这是没有保存值的情况 可以看到是没有 key 值的 那么当我们去进行输入搜索 最后再去 storage 中查看 获取到了一个 key 为 history 的 Array 数组 那么再去看看storage 得到了一个数组而且没有被覆盖,那么怎么实现的呢? 先来看看js代码 search.js 设置data data: { }, 首先去获取storage中的值 onLoad: function (options) { 进行搜索和缓存数据到storage中 search:function(e){ var that =this; var sear =this.data.inputsearch; var jobs=this.data.job; var input = new RegExp(sear); var temp = []; if(sear == ‘’){ wx.showToast({ }); 将 storage 中的 key 值设为 hisotry wx.setStorage({ )} 定义一个数组 history 空数组去获取 storage 中的值,首先是去查询有没有该 key 值,如果没有则 fail ,那么 history 依然为空数组 wx.setStorage({ }) 返回得到 history 之后再去将 inputsearch 的值添加到 history 中 这里有个误区可能你会将输入的值inputsearch push到一个新的空数组,然后再将这个新数组push到history数组中,但这个方法显然不可行,你添加之后新数组将会存放在history数组的第一个下标的数组下,对于history数组也就只有两个值 好了,回到我要说的,那么如何将 inputsearch 添加到 history 中呢,可以使用 unshift 方法或者 push 方法,这里应该使用 unshift 应该将每个新增值存放在 history 的第一个位置,这是其实就是一个用户体验问题了 var that =this; var sear =this.data.inputsearch; this.data.history.unshift(sear); wx.setStorage({ 好了,这样就不会出现“覆盖掉”原来的 key 值的问题了 |
请发表评论