微信小程序是没有数据库概念的,但是有缓存,如果不清空缓存数据,数据就一直在存在缓存中,那么怎么缓存数据呢?很简单?
后缀带sync是同步,这些方法都是成对出现的,remove...是清空缓存,get...是获取缓存 如果要修改缓存 key保持一变,value变了就行了,clear...是清空所有缓存
wx.setStorage({
key: 'username',
data: '帅哥',
})
就这简单,这就是缓存了一个简单的数据,然后打开调试找到缓存的数据:
当然也可以保存复杂的数据,
wx.setStorage({
key: 'username',
data: {
author:"zhoujielun",
age:12
},
})
value值可以是一个Object对象,随便你怎么写,只要他是一个json或者是一个String就行.
如何获取缓存的值呢?
wx.getStorage({
key: 'username',
success: function(res) {
console.log("值--->"+res.data.author);
},
})
那么你怎么知道res.data拿到缓存的数据呢?当然是官网文档写了
wx.getStorage(Object object)
从本地缓存中异步获取指定 key 的内容
参数
Object object
属性 | 类型 | 默认值 | 是否必填 | 说明 | 支持版本 |
---|---|---|---|---|---|
key | string | 是 | 本地缓存中指定的 key | ||
success | function | 否 | 接口调用成功的回调函数 | ||
fail | function | 否 | 接口调用失败的回调函数 | ||
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 | 支持版本 |
---|---|---|---|
data | Object/string | key对应的内容 |
示例代码
wx.getStorage({
key: 'key',
success (res) {
console.log(res.data)
}
})
try {
var value = wx.getStorageSync('key')
if (value) {
// Do something with return value
}
} catch (e) {
// Do something when catch error
}