前端储存之localStrage、sessionStrage和Vuex使用

 更新时间:2025年01月15日 15:31:37   作者:Cshaosun  
localStorage、sessionStorage和Vuex是三种不同的客户端存储方式,用于在浏览器中保存数据,localStorage和sessionStorage都是以键值对的形式存储数据,但localStorage存储的数据在关闭浏览器后仍然存在

简介

什么是localStrage

localStorage (本地存储)是一种在用户浏览器中存储数据的客户端存储方式,允许网站将键值对数据持久保存在用户的本地浏览器中

存储的数据不受浏览器关闭的影响,可以在不同会话和浏览器关闭后仍然保持有效。

  • 生命周期永久有效,除非手动删除,否则关闭页面也会存在
  • 可以多窗口(页面)共享(同一浏览器可以共享)
  • 以键值对的形式存储使用
  • 各浏览器支持的localStorage容量上限不同;一般上限为5MB
  • localStorage.getItem(‘key’); 如果key不存在则返回null,而不是 undefined

例:

标准的json对象{“name”:“john”}

//设置localStorage保存到本地,第一个为变量名,第二个是值
localStorage.setItem('username', '安琪拉')

// 获取数据
localStorage.getItem('username')

// 删除保存的数据
localStorage.removeItem('username')

// 清除所有保存的数据
localStorage.clear()

什么是sessionStrage

sessionStorage 是一种在用户浏览器中临时存储数据的客户端存储方式适用于同一浏览器窗口或标签的会话期间

存储的数据在用户关闭浏览器窗口或标签时会被清除,因此适用于保存会话相关的临时信息,例如用户登录状态、暂时的用户选项等。

注:

  • 【只在本地存储】:seesionStorage的数据不会跟随HTTP请求一起发送到服务器,只会在本地生效,并在关闭标签页后清除数据。
  • 【存储方式】:seesionStorage的存储方式采用key、value的方式。value的值必须为字符串类型
  • 【存储上限限制】:不同的浏览器存储的上限也不一样,但大多数浏览器把上限限制在5MB以下
// 设置sessionStorage保存到本地,第一个为变量名,第二个是值
sessionStorage.setItem('sessionName', '可乐')

// 获取数据
sessionStorage.getItem('sessionName')

// 删除保存的数据
sessionStorage.removeItem('sessionName')

// 清除所有保存的数据
sessionStorage.clear()

什么是Vuex

Vuex 是一个用于 Vue.js 应用程序的状态管理模式和库

它专门用于管理应用程序中的状态(数据),使得不同组件之间可以共享和交流数据,而无需通过传递 props 或事件来传递数据。

注:详细介绍见:Vuex的原理和使用方法

扩展

  • JSON.stringify(); // 将json格式的数据(JavaScript 对象)转换成JSON格式的字符串
  • JSON.parse(); //将JSON格式的字符串转换成JSON对象进行处理

三者区别

主要区别

  • localStorage:是通过本地数据存储的,以文件的方式存储在本地;
  • sessionStorage:只是本地存储一个会话中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后也随之销毁;
  • Vuex:是一个全局状态数据管理,存储在内存中,没有内存大小限制;是专门为vue.js应用程序开发的状态管理模式;通过采用集中式存储管理应用的所有组件的状态。

应用场景

  • localStorage:一般用于跨页面传递数据场景;长期性保存的数据;
  • sessionStorage:适用于单页应用程序,方便再各业务模块进行传值;也用于敏感账号的一次性登录,关闭当时页面再次打开时会需要重新登录
  • Vuex:是专门为vue.js应用程序开发的状态管理模式;用于组件之间传值

存储永久性

  • localStorage窗口或浏览器关闭也始终有效;
  • sessionStorage仅在当前浏览器关闭前有效;
  • vuex在刷新页面时存储的值就会丢失

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue3 中的  shallowReactive 详解

    Vue3 中的  shallowReactive 详解

    本文深入探讨了Vue3中新特性shallowReactive的使用和原理,shallowReactive是创建浅响应式对象的API,只对对象的第一层属性进行响应式转换,不对嵌套对象处理,有助于性能优化和状态管理,同时也指出了shallowReactive在使用中的注意事项
    2024-10-10
  • Vue之props 配置详解

    Vue之props 配置详解

    这篇文章主要为大家介绍了Vue之props 配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助,希望能够给你带来帮助
    2021-11-11
  • 使用vue-router切换页面时,获取上一页url以及当前页面url的方法

    使用vue-router切换页面时,获取上一页url以及当前页面url的方法

    这篇文章主要介绍了使用vue-router切换页面时,获取上一页url以及当前页面url的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Vue 使用高德地图添加点标记 + 点击地图获取坐标 + 带搜索(即地理编码 + 逆地理编码)  附完整示例

    Vue 使用高德地图添加点标记 + 点击地图获取坐标 + 带搜索(即地

    这篇文章主要介绍了Vue 使用高德地图添加点标记 + 点击地图获取坐标 + 带搜索(即地理编码 + 逆地理编码)  附完整示例,本文结合示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2024-01-01
  • Vue3 Composition API优雅封装第三方组件实例

    Vue3 Composition API优雅封装第三方组件实例

    这篇文章主要为大家介绍了Vue3 Composition API优雅封装第三方组件实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • element-ui table表格控件实现单选功能代码实例

    element-ui table表格控件实现单选功能代码实例

    这篇文章主要给大家介绍了关于element-ui table表格控件实现单选功能的相关资料,单选框是指在 Element UI 的表格组件中,可以通过单选框来选择一行数据。用户只能选择一行数据,而不能同时选择多行,需要的朋友可以参考下
    2023-09-09
  • vue 实现element-ui中的加载中状态

    vue 实现element-ui中的加载中状态

    这篇文章主要介绍了vue 实现element-ui中的加载中状态,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Vant Weapp组件picker选择器初始默认选中问题

    Vant Weapp组件picker选择器初始默认选中问题

    这篇文章主要介绍了Vant Weapp组件picker选择器初始默认选中问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Vue中的同步和异步使用详解

    Vue中的同步和异步使用详解

    这篇文章主要介绍了Vue中的同步和异步使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-08-08
  • Vue项目如何部署到SpringBoot工程下

    Vue项目如何部署到SpringBoot工程下

    这篇文章主要介绍了Vue项目如何部署到SpringBoot工程下问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07

最新评论