小程序提供了渣饥搭读写删本地缓存的方法:
关于同步缓存和异步缓存的区别
异步与同步的区别是,异步不会阻塞当前任务,同步缓存直到同步方肢物法处理完才能继续往下执行。
写入本地缓存
根据key读取本地缓存
根据key移除本地缓存
清除本地所有缓存
最后,还要注意的一点是如果写入了同样key的缓存数据,后写的会覆盖了前者,因此需要我们注意一下【点击了解更多加盟项目】
本地缓存官方讲解:https://developers.weixin.qq.com/miniprogram/dev/api/data.html#wxsetstorageobject
演示视屏可以关注公微信订阅号查看(Rabbit_svip)。
样式随便写,主要留意功能。
页面结构
【app.json】
【login.wxml】
【login.js】
【index.wxml】
【index.js】
先看看【app.json】,在pages里面,要把login放在第一,这样在小程序打开的时候,就会先打开login.wxml这个页面。
【login.wxml】页面,第二行的<form>标签里,要加bindsubmit。
这是微信官方文档上写明的事件。在<form>表单提交时,会携带<form>中的数据出发submit事件。
在使用bindsubmit时,记得在input元素上面写明“name”属性。
可以试试,查看一下控制台输出的值。
【login.js】
在点击登录提交表单后,如果登录成功,用wx.setStorage(),把用户名临时存储起来。
存储完渗数成后,跳转页面。胡厅用到 wx.redirectTo
用 wx.redirectTo 进行跳转,是没有返回上一层的路径的。
在login.js这个页面中,用到 onLoad 这个函数(第107行)。作用是监听页面加载。
onLoad里面,用到 wx.getStorage 这个API。作用是检测本地缓存,看看是否有对应的key指定的值。如果有,则调用 success 这个回调丛做首函数。
【index.js】
这个页面设置了一个清除本地缓存的button。
用到 wx.removeStorage 这个API。
这里只要指定key值就行。这样就可以删除掉对应的缓存。
删除成功后,执行 success 回调函数。
每个微信小程序都可以有自己的本地早锋缓存,可以通过 wx.setStorag(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。本地缓存最大为10MB。注意:
localStorage 是永久存储的,但是我们不建议将关键信息全部存在 localStorage,以防用户换设备的情况。
wx.setStorage(OBJECT)将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该陆弯晌 key 对应的内容,这是一个异步接口。
代码示例
wx.setStorage({ key:"key" data:"value" })1234
wx.setStorageSync(KEY,DATA)
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
try { wx.setStorageSync('key', 'value') } catch (e) { }1234
wx.getStorageInfo(OBJECT)
异步获取当前storage的相关信息
wx.getStorageInfo({ success: function(res) { console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } })1234567
wx.getStorageInfoSync
同步获取当前storage的相关信息
try { var res = wx.getStorageInfoSync() console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } catch (e) { // Do something when catch error }12345678
wx.removeStorage(OBJECT)
从本地缓存中异步移除指定 key 。
wx.removeStorage({ key: 'key', success: function(res) { console.log(res.data) } })123456
wx.removeStorageSync(KEY)
从本地缓存中同步移除指定 key 。 try { wx.removeStorageSync('key') } catch (e) { // Do something when catch error }123456
wx.clearStorage()
清理本地数据缓存。
wx.clearStorage()1
wx.clearStorageSync()
同步清理闹谨本地数据缓存
try { wx.clearStorageSync() } catch(e) { // Do something when catch error }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)