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中本地存储的相关知识,并在实际开发中得到应用。

相关推荐
巴博尔9 小时前
UNIAPP中NVUE页面 动画
android·前端·javascript·ios·uni-app
边界条件╝20 小时前
uniapp 深度使用
uni-app
路光.21 小时前
uniapp小程序/App使用webview打通麦克风权限实现录音功能
小程序·uni-app·app
xiaoyan201521 小时前
全新首发uniapp+deepseek-v4三端通用智能ai助手
uni-app·ai编程·deepseek
anyup21 小时前
【最全鸿蒙】uni-app 转鸿蒙:从打包失败到商店上架成功全过程
前端·uni-app·harmonyos
2501_915106321 天前
深入解析HTTPS抓包原理、中间人攻击及反抓包技术攻防
数据库·网络协议·ios·小程序·https·uni-app·iphone
游戏开发爱好者81 天前
React Grab工具详解:AI助力Vue3、Svelte和Solid前端元素调试
android·ios·小程序·https·uni-app·iphone·webview
sN2vuQ08W1 天前
uni-app 实现视频聊天、屏幕分享,支持Android、HarmonyOS、iOS
android·uni-app·音视频
遗憾随她而去.1 天前
uniapp App平台 真机运行
uni-app
愚者Pro1 天前
Flutter Widget组件学习(专为 Uniapp 转 Flutter 定制)
vue.js·学习·flutter·uni-app