uniapp 本地存储的方式

1. uniapp 本地存储的方式

在uniapp开发中,本地存储是一个常见的需求。本地存储可以帮助我们在客户端保存和管理数据,以便在应用程序中进行持久化存储。本文将介绍uniapp中本地存储的几种方式,以及相关的代码示例。

1.1. 介绍

在移动应用开发中,我们经常需要将一些数据保存在客户端,比如用户的个人设置、应用的配置信息等。uniapp提供了多种本地存储的方式,包括localStorage、sessionStorage、uni.setStorageSync和uni.setStorage等。接下来,我们将逐一介绍这些方式,并给出相应的代码示例。

uniapp本地存储的几种方式

(1)localStorage:使用浏览器提供的localStorage API进行本地存储,可以存储字符串类型的数据,并且在同一域名下的所有页面共享。

(2)sessionStorage:与localStorage类似,但是数据只在当前会话期间有效,一旦会话结束就会被清除。

(3)uni.setStorageSync和uni.getStorageSync:uniapp提供的API,可以将数据存储在本地文件中,可以存储各种类型的数据,包括对象和数组。

(4)uni.setStorage和uni.getStorage:与uni.setStorageSync和uni.getStorageSync类似,但是使用异步方式进行存储和获取数据。

这些方式可以根据实际需求选择合适的方式进行本地存储。

1.2. 使用本地存储的好处

uniapp使用本地存储的好处包括:

(1)数据持久化:本地存储可以将数据保存在用户设备上,即使用户关闭应用或重启设备,数据仍然可以被保留。

(2)减少网络请求:通过本地存储可以缓存一些常用的数据,减少对服务器的请求,提高应用的性能和加载速度。

(3)离线访问:本地存储可以使应用在没有网络连接的情况下仍然能够访问一些数据,提高用户体验。

1.3. 方法

1.3.1. localStorage

localStorage是HTML5标准中定义的用于客户端存储的API。在uniapp中,我们可以直接使用localStorage来进行本地存储。
(1)说明

javascript 复制代码
// 将数据存储到localStorage中
localStorage.setItem('key', 'value');
// 从localStorage中获取数据
var value = localStorage.getItem('key');

(2)实例

javascript 复制代码
 /**
 * localStorage数据存储
 */
localStorageData: function () {
    // 将数据存储到localStorage中
    localStorage.setItem('SP_NAME', 'zzs');
    // 从localStorage中获取数据
    var value = localStorage.getItem('SP_NAME');
   console.log("从localStorage中获取数据:",value)
},

1.3.2. sessionStorage

sessionStorage也是HTML5标准中定义的用于客户端存储的API,它与localStorage的区别在于数据只在当前会话期间有效。在uniapp中,我们同样可以直接使用sessionStorage来进行本地存储。
(1)说明

javascript 复制代码
// 将数据存储到sessionStorage中
sessionStorage.setItem('key', 'value');
// 从sessionStorage中获取数据
var value = sessionStorage.getItem('key');

(2)实例

javascript 复制代码
 /**
 * sessionStorage数据存储
 */
sessionStorageData: function () {
    // 将数据存储到sessionStorage中
    sessionStorage.setItem('SP_NAME2', 'zzs2');
    // 从sessionStorage中获取数据
    var value = sessionStorage.getItem('SP_NAME2');
   console.log("从sessionStorage中获取数据:",value)
},

1.3.3. uni.setStorageSync

uni.setStorageSync是uniapp提供的本地存储方法之一,它可以将数据同步存储到本地。
(1)说明

javascript 复制代码
// 将数据存储到本地
uni.setStorageSync('key', 'value');
// 从本地获取数据
var value = uni.getStorageSync('key');

(2)实例

javascript 复制代码
/**
* setStorageSync数据存储
*/
setStorageSyncData: function () {
   // 将数据存储到本地
  uni.setStorageSync('SP_NAME3', 'zzs3');
  // 从本地获取数据
  var value = uni.getStorageSync('SP_NAME3');
 console.log("从setStorageSyncData中获取数据:", value)
},

1.3.4. uni.setStorage

uni.setStorage是uniapp提供的另一种本地存储方法,它可以将数据异步存储到本地。
(1)说明

javascript 复制代码
// 将数据异步存储到本地
uni.setStorage({
  key: 'key',
  data: 'value',
  success: function () {
    // 存储成功的逻辑
  }
});
// 从本地异步获取数据
uni.getStorage({
  key: 'key',
  success: function (res) {
    var value = res.data;
    // 获取数据成功的逻辑
  }
});

(2)实例

javascript 复制代码
/**
* setStorage数据存储
*/
setStorageData: function () {
    // 将数据异步存储到本地
    uni.setStorage({
        key: 'SP_NAME4',
        data: 'zzs4',
        success: function () {
        // 存储成功的逻辑
       }
   });
    // 从本地异步获取数据
    uni.getStorage({
         key: 'SP_NAME4',
        success: function (res) {
             var value = res.data;
            // 获取数据成功的逻辑
            console.log("从setStorage中获取数据:", value)
        }
    });
},

1.4. 完整代码

javascript 复制代码
<template>
    <view>

    </view>
</template>

<script>
    export default {
        data() {
            return {}
        },
        onLoad: function () {
            var that = this;
            //localStorage数据存储
            that.localStorageData()
            //sessionStorage数据存储
            that.sessionStorageData()
            //setStorageSync数据存储
            that.setStorageSyncData()
            //setStorage数据存储
            that.setStorageData()
        },
        methods: {
            /**
             * localStorage数据存储
             */
            localStorageData: function () {
                // 将数据存储到localStorage中
                localStorage.setItem('SP_NAME', 'zzs');
                // 从localStorage中获取数据
                var value = localStorage.getItem('SP_NAME');
                console.log("从localStorage中获取数据:", value)
            },
            /**
             * sessionStorage数据存储
             */
            sessionStorageData: function () {
                // 将数据存储到sessionStorage中
                sessionStorage.setItem('SP_NAME2', 'zzs2');
                var value = sessionStorage.getItem('SP_NAME2');
                console.log("从sessionStorage中获取数据:", value)
            },
            /**
             * setStorageSync数据存储
             */
            setStorageSyncData: function () {
                // 将数据存储到本地
                uni.setStorageSync('SP_NAME3', 'zzs3');
                // 从本地获取数据
                var value = uni.getStorageSync('SP_NAME3');
                console.log("从setStorageSync中获取数据:", value)
            },
            /**
             * setStorage数据存储
             */
            setStorageData: function () {
                // 将数据异步存储到本地
                uni.setStorage({
                    key: 'SP_NAME4',
                    data: 'zzs4',
                    success: function () {
                        // 存储成功的逻辑
                    }
                });
                // 从本地异步获取数据
                uni.getStorage({
                    key: 'SP_NAME4',
                    success: function (res) {
                        var value = res.data;
                        // 获取数据成功的逻辑
                        console.log("从setStorage中获取数据:", value)
                    }
                });
            },
        }
    }
</script>
<style>
</style>

1.5. 结论

本文介绍了uniapp中本地存储的几种方式,包括localStorage、sessionStorage、uni.setStorageSync和uni.setStorage。通过这些方式,我们可以方便地在uniapp应用中进行本地数据的存储和管理。根据具体的需求和场景,我们可以选择合适的方式来进行本地存储操作。希望本文能够帮助读者更好地理解uniapp中本地存储的相关知识,并在实际开发中得到应用。

相关推荐
mosen86842 分钟前
uniapp中uni.scss如何引入页面内或生效
前端·uni-app·scss
lyz24685944 分钟前
uniapp popup弹窗组件的自定义使用方法
uni-app
沙尘暴炒饭44 分钟前
uniapp 前端解决精度丢失的问题 (后端返回分布式id)
前端·uni-app
牛牛科技1 小时前
生产管理系统PHP+Uniapp源码
uni-app
Smile_ping1 小时前
uniapp——APP读取bin文件,解析文件的数据内容(一)
uni-app·uniapp 读取文件·app端读取bin文件
CDERP-plus1 小时前
uniapp 3分钟集成轮播广告图
uni-app·erp·erp移动端
Liberty_yes1 小时前
uniapp input苹果中文键盘输入拼音直接切换输入焦点监听失效
uni-app
街尾杂货店&1 小时前
webpakc介绍
uni-app
洗发水很好用14 小时前
uniApp打包H5发布到服务器(docker)
uni-app
YUJIAN。14 小时前
使用uniapp开发微信小程序-框架搭建
微信小程序·小程序·uni-app