• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

Next
Prev

(8条消息) 浅谈微信小程序用setStorage和getStorage缓存和获取数据_weixin_33810302的博客

Data: 2013-07-01 04:13:38Form: JournalClick: 7

浅谈微信小程序用setStorage和getStorage缓存和获取数据
(8条消息) 浅谈微信小程序用setStorage和getStorage缓存和获取数据_weixin_33810302的博客-CSDN博客

缓存数据

每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)可以对本地缓存进行设置、获取和清理。同一个微信用户,同一个小程序 storage 上限为 10MB。localStorage 以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据。

数据常用于哪里?

对于数据需求较小的历史记录、购物车事件等都可以使用storage进行缓存,Storage将数据存储在本地缓存中指定的 key 中,如果重复会覆盖掉原来该 key 对应的内容 可以参照微信小程序开发手册中的Storage

如何使用异步接口进行数据缓存?

  1. 将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。
  2. 复制代码

OBJECT参数说明:

参数类型必填说明
keyString本地缓存中的指定的
dataObject/String需要存储的内容
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

  1. wx.setStorage({
  2. key:"key",
  3. data:"value"
  4. })
  5. 复制代码

setStorage之后可以去到开发者工具里面查看 这是没有保存值的情况

 可以看到是没有 key值的 那么当我们去进行输入搜索

 最后再去 storage中查看

 获取到了一个 key为 history的 Array数组 那么再去进行搜索

 再看看 storage

 得到了一个数组而且没有被覆盖,那么怎么实现的呢? 先来看看代码

 

  1. search.wxml
  2. <view class="search-top-input">
  3. <input type="text"
Name:
<提交>