首页 > 其他分享 >【UniApp】-uni-app-数据缓存

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

时间:2023-12-17 23:55:39浏览次数:39  
标签:UniApp name 异步 res app 清空 uni

前言

  • 好,经过上个章节的介绍完毕之后,给大家补充了一下 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 里面的

End

  • 如果你有任何问题或建议,欢迎在下方留言,我会尽快回复
  • 如果你觉得本文对你有帮助,欢迎点赞、收藏,你的支持是我写作的最大动力

标签:UniApp,name,异步,res,app,清空,uni
From: https://www.cnblogs.com/BNTang/p/17910123.html

相关文章

  • 多工作表数据去重,VSTACK与UNIQUE函数发挥作用!
    1职场实例小伙伴们大家好,今天我们来继续学习Excel在职场办公中的应用案例:如何提取多个工作表中指定区域内的不重复值?这个问题实质是一个删除重复值保留唯一值的问题,但是涉及到了在多个工作表中的操作,显得不是那么的有思路。但是我们运用两个新函数VSTACK函数与UNIQUE函数就可以很轻......
  • 2023 China Collegiate Programming Contest (CCPC) Guilin Onsite (The 2nd Universa
    题解:https://files.cnblogs.com/files/clrs97/2023Guilin_Tutorial.pdf Code:A.EasyDiameterProblem#include<bits/stdc++.h>usingnamespacestd;constintN=300;constintmod=1e9+7;typedefpair<int,int>pii;vector<pair<int,int......
  • uniapp Watch() 数据监控完成升级
    handleDataChange(){ if(this.allquestions<50){ this.rank=1 this.rankpic='https://imgs.91yuwen.com/resouse/%E5%BE%BD%E7%AB%A0/11.png' this.rankrate=Number(this.allquestions)/50*100 console.log('进入1�......
  • WorkPlus即时通讯app-私有化部署的最佳解决方案
    随着数字化时代的到来,企业在业务发展和沟通协作方面面临着前所未有的挑战。传统的通讯工具无法满足安全、高效、全面掌控业务和生态的需求。而在这个背景下,WorkPlus作为安全专属的移动数字化平台崭露头角,成为企业实现全面业务掌控的最佳选择。WorkPlus不仅仅是一款移动应用,它更像一......
  • 06.app 自动化控制
    启动启动应用方式一:webdriver.remote("url",desirecapability)方式二:launch_app() 将应用启动起来#方式一:self.driver=webdriver.Remote\("http://127.0.0.1:4723/wd/hub",desire_cap)#方式二:self.driver.launch_app()#数据清理清空输入框内容clear()......
  • kotlin的run、apply、let、also和with的再次对比说明
    一、这六个的函数//扩展函数runpublicinlinefun<T,R>T.run(block:T.()->R):R{returnblock()}//扩展函数letpublicinlinefun<T,R>T.let(block:(T)->R):R{returnblock(this)}//扩展函数applypublicinlinefun<T>T.apply(blo......
  • 打破多APP困境,WorkPlus统一入口让企业协同更高效
    在信息时代,企业面临着协同与管理的挑战:多个应用、多套账号密码、频繁切换系统,这不仅增加了员工的操作负担,也降低了工作效率。为解决这一问题,WorkPlus以其超级APP的全方位功能,为企业提供了一个统一入口,整合了所有协同、业务和生态的应用场景。WorkPlus不仅仅是一个APP,它是一个全能的......
  • 关于Unity的Piexels Per Unit:美术素材到底要画多大?显示多大?
    问题一:Unity的一个单位(unit)是啥?就是场景里面的这样一个小格子。 新建一个square,它的默认scale是1,可以正正好塞满1个unit。 点开square的sprite,可以看见(①)图片尺寸是256x256像素,也就是你导入工程文件的图片文件的尺寸。那么它为啥能正好塞满1个unit呢?256像素和1个unit的边......
  • Applescript成功实现imessage数据筛选,imessage蓝号检测,无痕检测手机号是否注册imess
    一、imessages数据检测的两种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。2.编写苹果MacOs......
  • offline RL | Pessimistic Bootstrapping (PBRL):在 Q 更新中惩罚 uncertainty,拉低 OOD
    论文题目:PessimisticBootstrappingforUncertainty-DrivenOfflineReinforcementLearning,ICLR2022,6688spotlight。pdf版本:https://arxiv.org/abs/2202.11566html版本:https://ar5iv.labs.arxiv.org/html/2202.11566openreview:https://openreview.net/forum?id=Y4c......