小程序 数据存储
ZGuangJu 4/20/2019 微信小程序
# 小程序存储数据方式
小程序中存储数据的地方
全局数据:
globalData本地数据:
wx.setStorageSync('logs', logs)页面数据:
pages中的data里.(在不传递的情况下,只能在当前页使用)
# 全局数据 globalData
globalData 属于小程序全局的共享数据对象
设置: 写在
app.js全局文件中使用: 一般在
pages页面中,调用getApp(),获取小程序实例对象,用该对象.globalData来使用
注意:
globalData就是你定义的数据的键名,可以自定;
这个global书存储在内存中,开发阶段页面刷新会丢失.
设置数据:
// App.js
App({
onLaunch (options) {
console.log('App onLaunch')
// Do something initial when launch.
},
onShow (options) {
// Do something when show.
},
onHide () {
// Do something when hide.
},
onError (msg) {
console.log(msg)
},
globalData: 1, //设置全局数据
// globalData: {a:1}
})
使用或修改:
// pages/post/post.js
// 在页面中获取全局数据
const text =getApp()
console.log(text.globalData)
let a =text.globalData
# 本地数据存储
# storage 微信小程序的本地存储
- 存数据用
setStorageSync:同步存储 - 存数据用
setStorage:异步存储 - 读取数据
getStorageSync同步取值 - 读取数据
getStorage:异步取值 - 清除一条数据
wx.removeStorage({key:'key'}) - 清除所有数据
wx.clearStorage()
# 本地数据增删改查 Storage
- 设置数据
wx.setStorage(Object object)key:本地缓存中指定的key;data:需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象.
- 同步
wx.setStorageSync(string key, any data)string key:本地缓存中指定的key;any data:需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象.
wx.setStorage({
key:"key",
data:"value"
})
// 同步版本
wx.setStorageSync('key', 1)
- 修改数据:给相同的
key再设置一个值
wx.setStorage({
key:"key",
data:1
})
wx.setStorage({
key:"key",
data:2
})
// 同步版本
wx.setStorageSync('key', 1)
wx.setStorageSync('key', 2)
- 获取数据
wx.getStorage(key,callback)key:本地缓存中指定的keycallback:接口调用成功的回调函数
- 同步
any wx.getStorageSync(string key)string key:本地缓存中指定的keyany data:key对应的内容
wx.getStorage({
key: 'key',
success (res) {
console.log(res.data)
}
})
//同步版本
wx.getStorageSync('key')
- 清除一条数据
wx.removeStorage({key:'key'})key:本地缓存中指定的key
- 同步
wx.removeStorageSync( key)key:本地缓存中指定的key
wx.removeStorage({key: 'key'})
wx.removeStorage({
key: 'key',
success (res) {
console.log(res)
}
})
// 同步
wx.removeStorageSync('key')
- 清除所有数据
wx.clearStorage()- 同步
wx.clearStorageSync()
wx.clearStorage()
// 同步版本
wx.clearStorageSync()