小程序中的数据存储实现方式

程序中的数据存储实现⽅式
⽬录
全局变量globalData
页⾯私有变量 data
storage
异步存储(根据设备性能的不同,你还真不知道他会存多久)
同步存储(会造成阻塞~)
⽂件存储 fileSysteManager
写⼊:
读取
移除
全局变量globalData
在最初创建⼩程序时,app.js⽂件中App⽅法中传⼊的对象⾥⾯默认添加了globalData参数。在所有的页⾯中我们都可以通过getApp⽅法获取到这个App⽅法传⼊的对象,进⽽拿到其中的globalData。
const App = getApp();
const openId = App.globalData.openId;
App.globalData.openId = 1;
delete App.globalData.openId;
globalData的值是⼀个对象,我们可以⽤对待对象的⽅式⼀样调⽤它。(globalData并⾮⼀定叫这个名字)
页⾯私有变量 data
每个页⾯的js逻辑层页⾯都是在Page⽅法中传⼊了⼀个对象。其中data的值⼀般⽤来存储当前页⾯内的变量值。其主要⽤途是通过setData接⼝和视图层进⾏数据交互,从⽽改变wxml视图层显⽰内容。
柳条剥皮机
如果不需要将data中的值传⼊到视图层中,不建议使⽤setData⽽是改⽤对象⽅式操作。可以有效节省性能。
在页⾯初始化时,data中的数据都会和视图层进⾏数据交互。如果进⼀步处理,我们还可以在对象中添加localData专门存储当前页⾯所需变量
Page({
data: {
openId: 123
},
localData: {
timeStamp: w()
}
})
this.setData({
openId: 321
})
this.data.openId = 321;
this.localData.timeStamp = w();
storage
storage也是⼩程序中很常⽤的⼀种存储⽅式,和全局变量globalData类似。不局限于某个页⾯,任何位置都可以通过wx提供的接⼝获取到其中的值。
优点是:可以长期存储,即使退出重新登陆数据不会消失。(上限存储10M)
缺点是:异步⾏为,每次存取耗时相对较长。
wx提供了增、删、改、查接⼝(增、改都是⼀个set接⼝),下⾯只举⼀个存储数据例⼦:
异步存储(根据设备性能的不同,你还真不知道他会存多久)
wx.setStorage({
key: 'key',
data: 'value',
success: res => {
...
}
})
预埋螺母// ⽀持promise
wx.setStorage({key: 'key', data: 'value'})
.then(res => {
...
})
同步存储(会造成阻塞~)
wx.setStorageSync('key', 'value')
...
⽂件存储 fileSysteManager
纸碗fileSysteManager(下简称fs)可以把⽂字、图⽚类型的数据通过⽂件的⽅式存储到本地。存储上限10M(之前记得200M,后来翻⽂档看到的都是10了),长期存储,不删除⼩程序数据就不会消失。
写⼊:
const fs = wx.getFileSystemManager();
fs.writeFile({
filePath: `${wx.env.USER_DATA_PATH}/_l${fileName}.txt`,
data: JSON.stringify(data),
encoding: 'utf8',
success(res) { ... }
})
filePath中的 env.userDatapath 是wx分配给当前程序的默认空间,coder可以在其下创建⽂件夹,添加⽂件等。
fileName是存储数据时的⽂件名。
data是要存储的数据,可以是图⽚。
encoding:编码格式,当data为图⽚时可已调整为⼆进制。
读取
存取数据时要牢记⽂件名和存储位置;
玻尿酸蚕丝面膜
彩油墨
filePath: `${wx.env.USER_DATA_PATH}/_l${fileName}.txt`,
encoding: 'utf8',
position: 0,
success(res) {
JSON.parse(res.data)
}
})
移除
fs.unlink({
filePath: `${wx.env.USER_DATA_PATH}/_l${fileName}.txt`,
encoding: 'utf8',
success(res) {
.
..
}
})
fs的操作都是异步⾏为,要注意处理逻辑。
隔离式洗衣机
到此这篇关于⼩程序中的数据存储实现⽅式的⽂章就介绍到这了,更多相关⼩程序数据存储内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

本文发布于:2024-09-21 23:33:10,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/223209.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   程序   添加   对象   不会   类似   消失   视图
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议