微信小程序开发——本地缓存

微信小程序开发——本地缓存,第1张

本地缓存是指微信小如拿程序存储在当前设备空间里地数据。在官方文档说明中,其所有的数据存储上限为10MB即单个小程序的存储空间上限为10MB。==在使用过程中用户使用本地缓存可以存储一些非重要性的生产 *** 作,例如让小程序再次打开能快速渲染页面,减少用户等待时间。

小程序提供了渣饥搭读写删本地缓存的方法:

关于同步缓存和异步缓存的区别

异步与同步的区别是,异步不会阻塞当前任务,同步缓存直到同步方肢物法处理完才能继续往下执行。

写入本地缓存

根据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 }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12485147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存