WeChatアプレットのデータキャッシュ

データローカルストレージ

公式文書wx.getStorage..。

wx.setStorageSyncとwx.setStorageend with Syncは同期メソッドであり、その他は非同期メソッドです。例としていくつかの非同期メソッドを取り上げます。

wx.setStorage

ローカルキャッシュの指定されたキーにデータを保存します。元のキーに対応する内容が上書きされます。ユーザーが積極的に削除するか、ストレージスペースの理由でシステムによってクリアされない限り、データは常に利用可能です。1つのキーに許可される最大データ長は1MBで、すべてのデータストレージの上限は10MBです。

  onLoad: function (options) {
    wx.setStorage({
      key: 'name',
      data: '张三'
    })
    wx.setStorage({
      key: 'age',
      data: '20'
    })
  },

保存されたローカルデータを取得する

<button class="btn" bindtap="getStorage">获取数据name</button>
<button class="btn" bindtap="removeStorage">移除数据name</button>
<button class="btn" bindtap="clearStorage">清除全部数据</button>
<button class="btn" bindtap="getAge">获取数据age</button>

wx.getStorage

指定されたキーのコンテンツをローカルキャッシュから非同期的に取得します

 getStorage:function(){
    wx.getStorage({
      key: 'name',
      success:function(res){
        console.log(res.data)
      }
    })
  },
 getAge:function(){
    wx.getStorage({
      key: 'age',
      success:function(res){
        console.log(res.data)
      }
    })
  },

wx.removeStorage

指定されたキーをローカルキャッシュから削除します。

removeStorage:function(){
    wx.removeStorage({
      key: 'name',
      success:function(res){
        console.log(res)
      }
    })
  },

wx.clearStorage

clearStorage:function(){
    wx.clearStorage({
      success: (res) => {
        console.log(res)
      }
    })
  },

データストレージ複合プロジェクト

  • まず、ローカルストレージにデータが保存されているかどうかを確認します

  • 保存されたデータなしでリクエストを送信し、保存されたデータでローカルデータを直接使用します

  onLoad: function (options) {
    // 判断本地是否存储了 当前数据
    var as = wx.getStorageSync('arrs')
    if(!as){ 
      //如果本地没存储   发送AJAX请求
      console.log(11111)
      wx.request({
        url: 'http://106.75.79.117:3000/aslide',
        success:(res) => {
          console.log(res.data)
          var arrs = res.data
          wx.setStorageSync('arrs', arrs)
          this.setData({
            aslideLeftTit:arrs,
            children:arrs[0].children,
            title:arrs[0].name
          })
        }
      })
    }else{
      console.log(2222)
      this.setData({
        aslideLeftTit:as,
        children:as[0].children,
        title:as[0].name
      })
    }
  },

 

おすすめ

転載: blog.csdn.net/weixin_41040445/article/details/114695578