微信小程序的数据缓存

时间:2024-10-03 20:58:35

当我们做 微信小程序开发的时候,我们经常要与后台打交道,做一些数据缓存的工作

用到的方法为   

第一步:存储数据

首先我们要定义初始化的值 默认为空  js中

  1. data: {
  2. key:"",
  3. data:"",
  4. info:""
  5. },

然后利用input标签为其绑定一个bindinput属性 方法就是key值和data值改变的方法在js中会定义的

  1. <input class="border-bottom" placeholder="请输入key值" name="key" value="{{key}}" bindinput="keyChange" type="text"/>
  2. <input class="border-bottom" placeholder="请输入data值" name="data" value="{{data}}" bindinput="dataChange" type="text"/>

当我们在input标签中输入内容的时候,bindinput事件就会随时记录下我们输入的内容,并会触发keyChange方法,会记录在object下的detail中的value中,我们把输入框中的值付给我们空的key

  1. keyChange:function(res){
  2. (res)
  3. ({
  4. key:
  5. })
  6. },
  7. dataChange:function(res){
  8. (res)
  9. ({
  10. data:
  11. })
  12. },

res是返回的结果,应该是一个object字符串注意赋值的路径  data也是同样的方法

当我们输入赋值完成之后就要存储数据了 

为一个按钮绑定一个点击事件,点击之后会触发自定义的setStorage方法,

  1. <view class="padding">
  2. <button type="primary" bindtap="setStorage">存储数据</button>
  3. <button type="margin" bindtap="getStorage">读取数据</button>
  4. <button type="margin" bindtap="clearStorage">清理数据</button>
  5. </view>

( key,  data) 

什么的data是要存储的内容,key是以这个名字进行存储,方便以后查找 

我们首先要定义一个key 和data 让它们等于数组对象中的key和data 然后让数据存储中的等于我们定义的,这样方便,当我们输入完成以后点击数据存储按钮数组data中的数据赋值给data存入了

  1. setStorage:function(){
  2. var key =
  3. var data =
  4. if(key){
  5. (key, data)
  6. ({
  7. key:key,
  8. data:data,
  9. info:"key="+key+" data="+data
  10. })
  11. }else{
  12. ({
  13. info:"请输入key值"
  14. })
  15. }
  16. },

第二部:数据读取

当我们点击数据读取按钮时 key值已经是数组中的key值了,如果存的数据中有输入时候的key值那么就就调用 data=(key) 给data从存入的数据查找内容赋值

  1. getStorage:function(){
  2. var key =
  3. var data
  4. if(key){
  5. data=(key)
  6. ({
  7. info:"key="+key+" data="+data
  8. })
  9. }else{
  10. ({
  11. info:"请输入key值"
  12. })
  13. }
  14. },

第三部:数据删除

给原来的数组的内容赋值为空即可 但还是要调()方法

  1. clearStorage:function(){
  2. ()
  3. ({
  4. key:"",
  5. data:"",
  6. info:"数据清理成功"
  7. })
  8. },

完整版的代码如下

HTML

  1. <view class="padding">
  2. <input class="border-bottom" placeholder="请输入key值" name="key" value="{{key}}" bindinput="keyChange" type="text"/>
  3. <input class="border-bottom" placeholder="请输入data值" name="data" value="{{data}}" bindinput="dataChange" type="text"/>
  4. <view class="padding">
  5. <button type="primary" bindtap="setStorage">存储数据</button>
  6. <button type="margin" bindtap="getStorage">读取数据</button>
  7. <button type="margin" bindtap="clearStorage">清理数据</button>
  8. </view>
  9. <!-- 数据处理结果 -->
  10. <view class="padding">
  11. 数据处理结果:
  12. <text class="text-red">{{info}}</text>
  13. </view>
  14. </view>

js

  1. //
  2. // 获取应用实例
  3. const app = getApp()
  4. Page({
  5. data: {
  6. key:"",
  7. data:"",
  8. info:""
  9. },
  10. keyChange:function(res){
  11. (res)
  12. ({
  13. key:
  14. })
  15. },
  16. dataChange:function(res){
  17. (res)
  18. ({
  19. data:
  20. })
  21. },
  22. setStorage:function(){
  23. var key =
  24. var data =
  25. if(key){
  26. (key, data)
  27. ({
  28. key:key,
  29. data:data,
  30. info:"key="+key+" data="+data
  31. })
  32. }else{
  33. ({
  34. info:"请输入key值"
  35. })
  36. }
  37. },
  38. getStorage:function(){
  39. var key =
  40. var data
  41. if(key){
  42. data=(key)
  43. ({
  44. info:"key="+key+" data="+data
  45. })
  46. }else{
  47. ({
  48. info:"请输入key值"
  49. })
  50. }
  51. },
  52. clearStorage:function(){
  53. ()
  54. ({
  55. key:"",
  56. data:"",
  57. info:"数据清理成功"
  58. })
  59. },
  60. onLoad() {
  61. },
  62. })

效果图