【UniApp】-uni-app -数据缓存


风晓
风晓 2023-12-29 10:39:52 62031 赞同 0 反对 0
分类: 资源
经过上个章节的介绍完毕之后,给大家补充了一下 uni-app-数据传递的内容 那么补充了 uni-app-数据传递的内容之后,这篇文章来给大家介绍一下 uni-app-数据缓存

搭建项目

  • 首先我们还是要先搭建一个项目,这里我就不多说了,大家可以参考上一篇文章
  • 搭建好项目之后,我们就可以开始我们的正文了

步入正题

新增

  • 新增的话,我们可以通过 uni.setStorage(OBJECT) 来进行新增
  • 新增的话,我们可以通过 uni.setStorageSync(KEY,DATA) 来进行新增
  • 两者的区别就是一个是异步,一个是同步,带有 Sync 的就是同步的,不带有 Sync 的就是异步的
  • 两者的参数不一样,一个是传递一个对象,一个是传递两个参数

好了,下面我们来看一下具体的使用, 首先看同步,代码如下:

 
<template>
	<view>
		<text>{{ name }}</text>
		<button type="primary" @click="add">新增</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				name: "BNTang"
			}
		},
		onLoad() {},
		methods: {
			add() {
				try {
					uni.setStorageSync('name', 'king');
				} catch (e) {
					// error
				}
			}
		}
	}
</script>

运行测试效果:

好了,下面我们来看一下异步,代码如下:

 
add() {
    uni.setStorage({
        key: 'name',
        data: 'hello BNTang',
        success: function() {
            console.log('success');
        }
    });
}

运行测试效果:

获取

  • 获取的话,我们可以通过 uni.getStorage(OBJECT) 来进行获取
  • 获取的话,我们可以通过 uni.getStorageSync(KEY) 来进行获取

看一下具体的使用, 首先看同步,代码如下:

 
<button type="primary" @click="get">获取</button>
 
get() {
    try {
        this.name = uni.getStorageSync('name');
    } catch (e) {
        // error
    }
}

运行测试效果:

来看一下异步,代码如下:

 
get() {
    const that = this
    uni.getStorage({
        key: 'name',
        success: function(res) {
            that.name = res.data
        }
    });
}

运行测试效果:

删除

  • 删除的话,我们可以通过 uni.removeStorage(OBJECT) 来进行删除
  • 删除的话,我们可以通过 uni.removeStorageSync(KEY) 来进行删除

看一下具体的使用, 首先看同步,代码如下:

 
<button type="primary" @click="del">删除</button>
 
del() {
    try {
        uni.removeStorageSync('name');
    } catch (e) {
        // error
    }
}

运行测试效果:

点击删除按钮之后:

异步略过,大家可以自己去试一下。

清空

  • 清空的话,我们可以通过 uni.clearStorage() 来进行清空
  • 清空的话,我们可以通过 uni.clearStorageSync() 来进行清空

看一下具体的使用, 首先看同步,代码如下:

 
<button type="primary" @click="clear">清空</button>
 
clear() {
    try {
        uni.clearStorageSync();
    } catch (e) {
        // error
    }
}
  • 运行测试效果,记得存储点进去之后,再点击清空按钮,这个就不上图片了,大家自己去试一下
  • 异步略过,大家可以自己去试一下

getStorageInfo

再给大家补充一个,getStorageInfo,这个 API 可以获取当前 storage 的相关信息,代码如下:

 
<button type="primary" @click="getStorageInfoFn">getStorageInfo</button>
 
getStorageInfoFn() {
    try {
        const res = uni.getStorageInfoSync();
        
        console.log(res);
        console.log(res.keys);
        console.log(res.currentSize);
        console.log(res.limitSize);
    } catch (e) {
        // error
    }
}

运行输出结果:

  • keys:当前 storage 中所有的 key
  • currentSize:当前占用的空间大小, 单位 kb
  • limitSize:限制的空间大小, 单位 kb
  • 异步略过,大家可以自己去试一下

和 HTML5 的数据缓存是一样的都是放到 Storage 里面的

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
麒麟系统版本介绍白皮书  509
MiSans 阿拉伯语字体文件  450
解决新版本麒麟系统中微信打开白屏显示  393
麒麟系统进行系统监控,查看进程的运行时间来优化性能  326
临时关闭swap分区与永久关闭swap分区(注意必须确保系统有足够内存运行!)  217
统信桌面专业版添加字体  210
统信uos单一程序黑屏,任务栏正常显示解决办法  209
统信uos快捷键文档  181
统信系统双无线网卡设置关闭开启单一网卡  144
分享一个磁盘恢复工具,适用于多平台(包括统信)  119
最近下载排行榜
麒麟系统版本介绍白皮书 0
MiSans 阿拉伯语字体文件 0
解决新版本麒麟系统中微信打开白屏显示 0
麒麟系统进行系统监控,查看进程的运行时间来优化性能 0
临时关闭swap分区与永久关闭swap分区(注意必须确保系统有足够内存运行!) 0
统信桌面专业版添加字体 0
统信uos单一程序黑屏,任务栏正常显示解决办法 0
统信uos快捷键文档 0
统信系统双无线网卡设置关闭开启单一网卡 0
分享一个磁盘恢复工具,适用于多平台(包括统信) 0
作者收入月榜
1

prtyaa 收益399.62元

2

zlj141319 收益236.11元

3

IT-feng 收益219.61元

4

1843880570 收益214.2元

5

风晓 收益208.24元

6

哆啦漫漫喵 收益204.5元

7

777 收益173.07元

8

Fhawking 收益106.6元

9

信创来了 收益106.03元

10

克里斯蒂亚诺诺 收益91.08元

请使用微信扫码

添加我为好友,拉您入交流群!

请使用微信扫一扫!