小程序 数据存储
#
小程序存储数据方式小程序中存储数据的地方
全局数据:
globalData
本地数据:
wx.setStorageSync('logs', logs)
页面数据:
pages
中的data
里.(在不传递的情况下,只能在当前页使用)
globalData
#
全局数据 globalData
属于小程序全局的共享数据对象
设置: 写在
app.js
全局文件中使用: 一般在
pages
页面中,调用getApp()
,获取小程序实例对象,用该对象.globalData
来使用
注意:
globalData
就是你定义的数据的键名,可以自定;
这个global
书存储在内存中,开发阶段页面刷新会丢失.
设置数据:
// App.jsApp({ 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
:本地缓存中指定的key
callback
:接口调用成功的回调函数
- 同步
any wx.getStorageSync(string key)
string key
:本地缓存中指定的key
any 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()