【微信小程序】如何增加、刪除數組緩存

小程序的數組緩存可以用來做購物車,瀏覽記錄等

wx.setStorage() 和 wx.setStorageSync() 的區別

  • setStorage() 爲異步存儲,不管你緩存成功與否,都會執行下一步
  • setStorageSync() 爲同步存儲,在緩存成功之後纔會執行下一步

添加數組緩存

onLoad: function () {
    // 先獲取緩存中的內容
    let array = wx.getStorageSync('item') || []
    // 向數組中追加
    array.push({
      item: 'item',
      item1: 'item1',
    })
    // 重新設置緩存
    wx.setStorage({
      key: 'item',
      data: array,
      success: function (res) {}
    })
  },

執行一次就添加一次緩存,結果如下:
在這裏插入圖片描述
完全清除直接使用 wx.removeStorage('key')wx.removeStorageSync('key')

那如何刪除數組緩存中的某一項呢

!!!嚴重警示,不要使用網上說的那個 splice,因爲你會發現刪除到最後一項的時候沒法刪完。splice 文檔說明:splice() 方法向/從數組中添加/刪除項目,然後返回被刪除的項目。

//這裏是我的索引設置,每點擊一個,刪除對應索引的緩存數組
<button bindtap="clearCache" wx:for="{{4}}" data-id="{{index}}" wx:key="index">點擊</button>
clearCache(e) {
    // 獲取索引值
    let index = e.currentTarget.dataset.id
    // 先獲取緩存中的內容
    let array = wx.getStorageSync('item')
    // 設置一個新的數組 arrays,注意這裏帶有 s
    let arrays = []
    for (var i = 0; i< array.length; i++) {
      if (i != index) {
        arrays.push(array[i])
      }
    }
    // 重新設置緩存
    wx.setStorage({
      key: 'item',
      data: arrays,
    })
  },
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章