uni-app本地存储

这篇具有很好参考价值的文章主要介绍了uni-app本地存储。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概要

大家好,今天和大家分享一下uni-app中的本地存储,其中分为同步和异步,有些朋友可能也在这两个概念中迷惑过,下面我们就来讲讲这个本地存储。

一,存储数据

1.uni.setStorage(OBJECT)

将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。

OBJECT参数

参数名 类型 必填 说明
key String 本地缓存中的指定的 key
data Any 需要存储的内容,只支持原生类型、及能够通过 JSON.stringify 序列化的对象
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)
示例
uni.setStorage({
    key:"token",
    data:'123456',
    success: function (){
        console.log("存储成功")
    }
})

2.uni.setStorageSync(KEY, DATA)

将data存储在本地缓存中指定的key中,会覆盖掉原来该key对应的内容, 这是一个同步接口

try{
    uni.setStorageSync('token', '123456')
} catch (e){
    //错误
}

//缓存数据
setStorage(){
	//这也是一个同步接口。
	//第一个参数是本地缓存中的指定的 key
	//第二个参数是需要存储的内容
	uni.setStorageSync('id',1);
},

二,获取数据

1.uni.getStorage(OBJECT)

从本地存储中异步获取对应可以对应的内容

参数名 类型 必填 说明
key String 本地缓存中的指定的 key
success Function 接口调用的回调函数,res = {data: key对应的内容}
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)
uni.getStorage({
    key:"token",
    success: function(res){
        console.log(res.data);
    }
})

2.uni.getStorageSync(KEY)

从本地缓存中同步获取指定key对应的内容

try {
    const value = uni.getStorageSync("token");
    if(value) {
        console.log(value)
    }
} catch(e){
    //错误
}

3.uni.getStorageInfo(OBJECT)

异步获取当前Storage的相关信息

参数名 类型 说明
keys Array<String> 当前 storage 中所有的 key
currentSize Number 当前占用的空间大小, 单位:kb
limitSize Number 限制的空间大小, 单位:kb
uni.getStorageInfo({
    success: function(res) {
        console.log(res.keys);
        console.log(res.currentSize);
        console.log(res.limitSize);
    }
})

4.uni.getStorageInfoSync()

同步获取当前storage的相关信息

try {
    const res = uni.getStorageInfoSync();
    console.log(res.keys);
    console.log(res.currentSize);
    console.log(res.limitSize);
} catch (e) {
    // 错误
}

获取数据同步

getStorage(){
	//这是一个同步接口。
	//参数本地缓存中的指定的 key通过赋值给一个变量获取
	const value = uni.getStorageSync('id');
	console.log(value);
},

三,移除数据

1.uni.removeStorage(OBJECT)

从本地缓存中异步移除指定key

uni.removeStorage({
    key:'token',
    success: function(res){
        console.log('删除成功')
    }
})

2.uni.removeStorageSync(KEY)

从本地缓存中同步移除指定key

try {
    uni.removeStorageSync('storage_key')
} catch(e){
    //错误
}

3.uni.clearStorage()

清除本地缓存

uni.clearStorage();

4.uni.clearStorageSync()

同步清理本地数据缓存

try {
	uni.clearStorageSync();
} catch (e) {
	//错误
}

同步移除

removeStorage(){
	//这是一个同步接口。
	//参数本地缓存中的指定的 key通过赋值给一个变量获取
	const value = uni.removeStorageSync("id");
	console.log("移除成功");
}

技术细节

其中同步异步的这个问题可以自己打印一下看看,在onShow里面分别使用同步和异步获取数据进行赋值,在其它生命周期内打印,看哪些有值哪些没有值,我之前也是没有意识到这个问题导致出现了一些错误,这个不是this指向的问题,也是容易误解的地方。

小结

以上就是本章的全部内容了,下一章我打算讲一下这个同步和异步,希望能够帮助到您,谢谢大家。文章来源地址https://www.toymoban.com/news/detail-452791.html

到了这里,关于uni-app本地存储的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app小程序分享功能实现

    通过onShareAppMessage(OBJECT) 将小程序到分享微信聊天,onShareTimeline()将小程序分享到朋友圈。 api中的参数配置参考文档:https://uniapp.dcloud.net.cn/api/plugins/share.html#onshareappmessage 分为全局引入、单页面引两种方式 全局引入只需要在小程序main.js中引入一次,可以复用,便于维护; 单

    2024年02月05日
    浏览(96)
  • uni-app微信小程序分享微信好友与分享到朋友圈功能【vue3+ts+uni-app+vite】

    微信小程序开发结束之后,点击右上角三个点显示: 1、创建share.ts文件 2、全局使用, 在 main.ts 里面 添加全局的 mixin 这样配置结束之后整个小程序所有页面点击右上角转发分享都走的这个文件,如果需要单个页面可以转发,可以看第三点 3、在需要的页面进行调用就行啦 a.

    2024年02月14日
    浏览(65)
  • uni-app云打包与本地打包

    uni-app打包方式目前有两种,云打包和本地打包,主要介绍本地打包, 开始使用打包之前,我们先看一下【 发行 】的工具栏,我们来简单介绍一下云打包与本地打包的区别: 原生APP-云打包: 原生APP-本地打包: 用HBuilderX打开要打包的项目 选中项目列表中的项目右击选择发行

    2023年04月10日
    浏览(91)
  • uni-app小程序自定义分享内容

    自定义的传参

    2024年02月01日
    浏览(62)
  • uni-app小程序中实现分享功能

    1、在manifest.json文件中配置分享相关信息,包括分享标题、分享图片等。 代码如下: 2、在需要触发分享的页面中,使用uni.navigateToMiniProgram()方法打开分享页面。  3、在被分享的小程序中,可以通过wx.getLaunchOptionsSync()获取到分享时携带的额外数据。  

    2024年02月08日
    浏览(44)
  • uni-app 经验分享,从入门到离职(一)——初始 uni-app,快速上手(文末送书福利1.0)

    本篇文章是我的 uni-app 专栏的第一篇文章,这个专栏主要是分享和介绍从零到一学习和使用的 uni-app 的笔记和个人经验。通过个人的学习经验和工作经验来给大家分享关于 uni-app 开发的技巧,以及快速入门的诀窍等等。 本篇文章是我的 uni-app 专栏的第二篇文章,这个专栏主要

    2024年02月15日
    浏览(43)
  • UNI-APP安卓本地打包详细教程(保姆级)

    uni-app 官方文档地址   原生开发者支持 1、Android Studio 下载地址:Android Studio官网 OR Android Studio中文社区 2、最新版的HBuilderX 3、App离线SDK下载:最新android平台SDK下载 4、3.1.10版本起需要申请Appkey, 申请请参考 点击进入 Android Studio官网 或者 Android Studio中文社区 点击 Downl

    2024年04月23日
    浏览(68)
  • uni-app开发小程序:项目架构以及经验分享

    2022年的时候,公司为了快速完成产品并上线,所以选用微信小程序为载体;由于后期还是打算开发App;虽然公司有ios和Android,但是如果能一套代码打包多端,一定程度上可以解决成本;前端技术栈也是vue,在考察选择了uni-app。后来多个小程序项目都采用了uni-app开发,积累了

    2024年02月09日
    浏览(78)
  • uni-app Android studio 本地打包 【图文讲解】

    需要修改文件列表 appsrcmainresvaluesstrings.xml 修改app名称 appsrcmainresvaluesAndroidManifest.xml 修改 包名 以及 uni-app 开发者后台生成的 离线打包可key simpleDemo 目录下的 准备安卓开发环境 (这里忽略,之前有文章讲解) 安卓开发环境 https://nativesupport.dcloud.net.cn/AppDocs/download/an

    2024年02月03日
    浏览(71)
  • uni-app打包之云打包与本地打包

    背景 由于早之前发的文章关于app的大杂烩文章太杂了, 所以打算给拆一拆,这篇是uni-app打包篇 uni-app打包方式目前有两种,云打包和本地打包,主要介绍本地打包,云打包比较简单,只进行简单的介绍 云打包 用HBuilderX打开要打包的项目 选中项目列表中的项目右击选择发行

    2024年02月02日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包