【前端储存】之localStrage、sessionStrage和Vuex

本文主要是介绍【前端储存】之localStrage、sessionStrage和Vuex,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

什么是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在刷新页面时存储的值就会丢失

这篇关于【前端储存】之localStrage、sessionStrage和Vuex的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112664

相关文章

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

python解析HTML并提取span标签中的文本

《python解析HTML并提取span标签中的文本》在网页开发和数据抓取过程中,我们经常需要从HTML页面中提取信息,尤其是span元素中的文本,span标签是一个行内元素,通常用于包装一小段文本或... 目录一、安装相关依赖二、html 页面结构三、使用 BeautifulSoup javascript

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

【 html+css 绚丽Loading 】000046 三才归元阵

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、源代码,上代码,可以直接复制使用🎥效果🗂️目录✍️