Almacenamiento local de datos
Documento oficial wx.getStorage ...
wx.setStorageSync y wx.setStorage terminan con Sync son métodos sincrónicos, y los otros son métodos asincrónicos. Tome algunos métodos asincrónicos como ejemplos
wx.setStorage
Almacene los datos en la clave especificada en la caché local. Se sobrescribirá el contenido correspondiente a la clave original. A menos que el usuario lo elimine activamente o el sistema lo borre debido a razones de espacio de almacenamiento, los datos siempre están disponibles. La longitud máxima de datos permitida para una sola clave es de 1 MB y el límite superior para todo el almacenamiento de datos es de 10 MB.
onLoad: function (options) {
wx.setStorage({
key: 'name',
data: '张三'
})
wx.setStorage({
key: 'age',
data: '20'
})
},
Obtener datos locales almacenados
<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
Obtener el contenido de la clave especificada de forma asincrónica del caché local
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
Elimina la clave especificada de la caché local.
removeStorage:function(){
wx.removeStorage({
key: 'name',
success:function(res){
console.log(res)
}
})
},
wx.clearStorage
clearStorage:function(){
wx.clearStorage({
success: (res) => {
console.log(res)
}
})
},
Proyecto combinado de almacenamiento de datos
-
Primero determine si hay datos almacenados en el almacenamiento local
-
Envíe la solicitud sin los datos almacenados, use los datos locales directamente con los datos almacenados
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
})
}
},