cookies、sessionStorage和localStorage以及vuex解释及区别

vue通过Vuex和localStorage实现本地存储和状态管理,页面刷新后状态保持不变 一、需求问题: 在vue的项目开发中,我们可能会经常遇到这样的需求,实现多个复杂的页面之间通信,传统的父子、子父、非父子组件通信可能是满足不了,这个时候可以用到Vuex状态管理器。但是Vuex在页面刷新以后,状态会丢失,所以可以用到本地存储技术localStorage去解决。这里以点击选择城市列表的城市后,所有页面的城市都会跟着变换,在刷新页面后,城市信息保存,不会发生丢失。 二、需求分析: 在... 阅读详情

在浏览器查看

 

 HTML4的本地存储 cookie

浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务端进行数据交互。

一、cookie和session

cookie和session都是用来跟踪浏览器用户身份的会话方式。

区别:

1、保持状态:cookie保存在浏览器端,session保存在服务器端

2、使用方式:

(1)cookie机制:如果不在浏览器中设置过期时间,cookie被保存在内存中,生命周期随浏览器的关闭而结束,这种cookie简称会话cookie。如果在浏览器中设置了cookie的过期时间,cookie被保存在硬盘中,关闭浏览器后,cookie数据仍然存在,直到过期时间结束才消失。

     Cookie是服务器发给客户端的特殊信息,cookie是以文本的方式保存在客户端,每次请求时都带上它

(2)session机制:当服务器收到请求需要创建session对象时,首先会检查客户端请求中是否包含sessionid。如果有sessionid,服务器将根据该id返回对应session对象。如果客户端请求中没有sessionid,服务器会创建新的session对象,并把sessionid在本次响应中返回给客户端。通常使用cookie方式存储sessionid到客户端,在交互中浏览器按照规则将sessionid发送给服务器。如果用户禁用cookie,则要使用URL重写,可以通过response.encodeURL(url) 进行实现;API对encodeURL的结束为,当浏览器支持Cookie时,url不做任何处理;当浏览器不支持Cookie的时候,将会重写URL将SessionID拼接到访问地址后。

3、存储内容:cookie只能保存字符串类型,以文本的方式;session通过类似与Hashtable的数据结构来保存,能支持任何类型的对象(session中可含有多个对象)

4、存储的大小:cookie:单个cookie保存的数据不能超过4kb;session大小没有限制。

5、安全性:cookie:针对cookie所存在的攻击:Cookie欺骗,Cookie截获;session的安全性大于cookie。

      原因如下:(1)sessionID存储在cookie中,若要攻破session首先要攻破cookie;

           (2)sessionID是要有人登录,或者启动session_start才会有,所以攻破cookie也不一定能得到sessionID;

           (3)第二次启动session_start后,前一次的sessionID就是失效了,session过期后,sessionID也随之失效。

           (4)sessionID是加密的

           (5)综上所述,攻击者必须在短时间内攻破加密的sessionID,这很难。

6、应用场景:

cookie:(1)判断用户是否登陆过网站,以便下次登录时能够实现自动登录(或者记住密码)。如果我们删除cookie,则每次登录必须从新填写登录的相关信息。

    (2)保存上次登录的时间等信息。

    (3)保存上次查看的页面

    (4)浏览计数

 session:Session用于保存每个用户的专用信息,变量的值保存在服务器端,通过SessionID来区分不同的客户。

  (1)网上商城中的购物车

  (2)保存用户登录信息

  (3)将某些数据放入session中,供同一用户的不同页面使用

  (4)防止用户非法登录

 7、缺点:cookie:(1)大小受限

           (2)用户可以操作(禁用)cookie,使功能受限

           (3)安全性较低

           (4)有些状态不可能保存在客户端。

           (5)每次访问都要传送cookie给服务器,浪费带宽。

           (6)cookie数据有路径(path)的概念,可以限制cookie只属于某个路径下。

        session:(1)Session保存的东西越多,就越占用服务器内存,对于用户在线人数较多的网站,服务器的内存压力会 比较大。

           (2)依赖于cookie(sessionID保存在cookie),如果禁用cookie,则要使用URL重写,不安全

           (3)创建Session变量有很大的随意性,可随时调用,不需要开发者做精确地处理,所以,过度使用session变量将会导致代码不可读而且不好维护。

HTML5的本地存储

解释一

HTML5中与本地存储相关的两个重要内容:Web Storage与本地数据库。其中,Web Storage存储机制是对HTML4中cookie存储机制的一个改善。由于cookie存储机制有很多缺点,HTML5不再使用它,转而使用改良后的Web Storage存储机制。本地数据库是HTML5中新增的一个功能,使用它可以在客户端本地建立一个数据库,原本必须保存在服务器端数据库中的内容现在可以直接保存在客户端本地了,这大大减轻了服务器端的负担,同时也加快了访问数据的速度。

本文主要来讲解Web Storage

我们知道,在HTML4中可以使用cookie在客户端保存诸如用户名等简单的用户信息,但是,通过长期的使用,你会发现,用cookie存储永久数据存在以下几个问题:

1.大小:cookie的大小被限制在4KB。

2.带宽:cookie是随HTTP事务一起被发送的,因此会浪费一部分发送cookie时使用的带宽。

3.复杂性:要正确的操纵cookie是很困难的。

针对这些问题,在HTML5中,重新提供了一种在客户端本地保存数据的功能,它就是Web Storage。

具体来说,Web Storage又分为两种:

1.sessionStorage:将数据保存在session对象中。所谓session,是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。session对象可以用来保存在这段时间内所要求保存的任何数据。

2.localStorage:将数据保存在客户端本地的硬件设备(通常指硬盘,也可以是其他硬件设备)中,即使浏览器被关闭了,该数据仍然存在,下次打开浏览器访问网站时仍然可以继续使用。

这两者的区别在于,sessionStorage为临时保存,而localStorage为永久保存。

到目前为止,Firefox3.6以上、Chrome6以上、Safari 5以上、Pera10.50以上、IE8以上版本的浏览器支持sessionStorage与localStorage的使用。

解释二

WebStorage的目的是克服由cookie所带来的一些限制,当数据需要被严格控制在客户端时,不需要持续的将数据发回服务器。

WebStorage两个主要目标:(1)提供一种在cookie之外存储会话数据的路径。(2)提供一种存储大量可以跨会话存在的数据的机制。

HTML5的WebStorage提供了两种API:localStorage(本地存储)和sessionStorage(会话存储)。

1、生命周期:localStorage:localStorage的生命周期是永久的,关闭页面或浏览器之后localStorage中的数据也不会消失。localStorage除非主动删除数据,否则数据永远不会消失。

        sessionStorage的生命周期是在仅在当前会话下有效。sessionStorage引入了一个“浏览器窗口”的概念,sessionStorage是在同源的窗口中始终存在的数据。只要这个浏览器窗口没有关闭,即使刷新页面或者进入同源另一个页面,数据依然存在。但是sessionStorage在关闭了浏览器窗口后就会被销毁。同时独立的打开同一个窗口同一个页面,sessionStorage也是不一样的。

2、存储大小:localStorage和sessionStorage的存储数据大小一般都是:5MB

3、存储位置:localStorage和sessionStorage都保存在客户端,不与服务器进行交互通信。

4、存储内容类型:localStorage和sessionStorage只能存储字符串类型,对于复杂的对象可以使用ECMAScript提供的JSON对象的stringify和parse来处理

5、获取方式:localStorage:window.localStorage;;sessionStorage:window.sessionStorage;。

6、应用场景:localStoragese:常用于长期登录(+判断用户是否已登录),适合长期保存在本地的数据。sessionStorage:敏感账号一次性登录;

WebStorage的优点:

(1)存储空间更大:cookie为4KB,而WebStorage是5MB;

(2)节省网络流量:WebStorage不会传送到服务器,存储在本地的数据可以直接获取,也不会像cookie一样美词请求都会传送到服务器,所以减少了客户端和服务器端的交互,节省了网络流量;

(3)对于那种只需要在用户浏览一组页面期间保存而关闭浏览器后就可以丢弃的数据,sessionStorage会非常方便;

(4)快速显示:有的数据存储在WebStorage上,再加上浏览器本身的缓存。获取数据时可以从本地获取会比从服务器端获取快得多,所以速度更快;

(5)安全性:WebStorage不会随着HTTP header发送到服务器端,所以安全性相对于cookie来说比较高一些,不会担心截获,但是仍然存在伪造问题;

(6)WebStorage提供了一些方法,数据操作比cookie方便;

    setItem (key, value) ——  保存数据,以键值对的方式储存信息。

         getItem (key) ——  获取数据,将键值传入,即可获取到对应的value值。

          removeItem (key) ——  删除单个数据,根据键值移除对应的信息。

          clear () ——  删除所有的数据

          key (index) —— 获取某个索引的key

cookie 、sessionStorage与localStorage的区别

 sessionStorage与localStorage的使用示例。

首先,准备一个用来保存数据和显示数据的网页

<!DOCTYPE html>
<html>
    <head>
    <meta charset="UTF-8">
    <title>Web Storage 示例</title>
    </head>
    <body>
    <h1>Web Storage 示例</h1>
    <p id="msg"></p>
    <input type="text" id="input" />
    <input type="button" value="保存数据" onclick="saveStorage('input');" />
    <input type="button" value="读取数据" onclick="loadStorage('msg');" />
    </body>
</html>

单击"保存数据"按钮时调用saveStorage方法保存数据,单击"读取数据"按钮时调用loadStorage方法调用数据,这两个方法均在脚本文件script.js中,如下:

//sessionStorage 示例  (保存一个会话周期:从打开浏览器——到关闭浏览器窗口)
function saveStorage(id){
    var target=document.getElementById(id);
    var str=target.value;
    sessionStorage.setItem("message",str);
    //或者sessionStorage.message=str;
}
function loadStorage(id){
    var target=document.getElementById(id);
    var msg=sessionStorage.getItem("message");
    //或者var msg=sessionStorage.message;
    target.innerHTML=msg;
}
//localStorage 示例(可永久保存)    
function saveStorage(id){
    var target=document.getElementById(id);
    var str=target.value;
    localStorage.setItem("message",str);
    //或者localStorage.message=str;
}
function loadStorage(id){
    var target=document.getElementById("msg");
    var msg=localStorage.getItem("message");
    //或者var msg=localStorage.message;
    target.innerHTML=msg;
}

这个脚本文件分别使用了sessionStorage与localStorage两种方法。这两种方法都是当用户在input文本框中输入内容后单击"保存数据"按钮保存数据,单击"读取数据"按钮读取保存后的数据。但是两种方法对数据的处理方式不一样,在使用sessionStorage方法时,如果关闭了浏览器,这个数据就丢失了,下一次打开浏览器单击"读取数据"按钮时,读取不到任何数据。在使用localStorage方法时,即使浏览器关闭了,下次打开浏览器时仍然能够读取保存的数据。不过,数据保存是按不同的浏览器分别进行保存的,也就是说,打开别的浏览器是读取不到在这个浏览器中保存的数据的。

下面具体看一下读写数据时使用的基本方法

(1)sessionStorage

保存数据的方法:

sessionStorage.setItem("key","value");
//或者写成
sessionStorage.key="value";

读取数据的方法:

变量=sessionStorage.getItem("key");
//或者写成
变量=sessionStorage.key;

(2)localStorage

保存数据的方法:

localStorage.setItem("key","value");
//或者写成
localStorage.key="value";

读取数据的方法:

变量=localStorage.getItem("key");
//或者写成
变量=localStorage.key;

(3) JSON

例:标准的json对象{“name”:“john”}
JSON.stringify(); // 将json格式的数据(JavaScript 对象)转换成JSON格式的字符串
例:

var  data = {name:"john"};
data = JSON.stringify(data);
localStorage.setItem("data1",data);

在这里插入图片描述

 JSON.parse(); //将JSON格式的字符串转换成JSON对象进行处理
例:

var str = localStorage.getItem("data1");
var obj = JSON.parse(str);
console.log(obj);

在这里插入图片描述 

在保存数据时,若使用sessionStorage读取或保存数据,则使用sessionStorage对象并调用该对象的读写方法;若使用localStorage读取或保存数据,则使用localStorage对象并调用该对象的读写方法。
在进行读写时,不管是哪个对象,都可以通过该对象的getItem方法来读取数据,也可以该对象的自定义属性值读取数据;可以通过该对象的setItem方法保存数据,也可以通过该对象的自定义属性值保存数据。保存数据时按“键名/键值”的形式进行保存。当通过该对象的getItem方法读取数据时,将参数指定为键名,该方法返回键值;当通过该对象的自定义属性值读取数据时,可以将该对象的某个自定义属性名作为键名,访问该自定义属性的属性值即可得到键值;当通过该对象的setItem方法保存数据时,将第一个参数指定为键名,将第二个参数指定为键值;当通过该对象的自定义属性值保存数据时,可以将该对象的某个自定义属性名作为键名,然后直接将该自定义属性值设置为键值。

在保存数据时不允许重复保存相同的键名。保存后可以修改键值,但不允许修改键名(只能重新取键名,然后再保存键值)。

最后,这个示例在浏览器中的运行结果如下:

 vuex和localstorage,sessionStorage存储方式,及区别

1.区别:vuex存储在内存,localstorage(本地存储)则以文件的方式存储在本地,永久保存(不主动删除,则一直存在);sessionstorage( 会话存储 ) ,临时保存。localStorage和sessionStorage只能存储字符串类型,对于复杂的对象可以使用ECMAScript提供的JSON对象的stringify和parse来处理

2.应用场景:vuex(响应式的)用于组件之间的传值,localstorage,sessionstorage则主要用于不同页面之间的传值。(非响应式的,页面刷新才会更新)

3.永久性:当刷新页面(这里的刷新页面指的是 --> F5刷新,属于清除内存了)时vuex存储的值会丢失。localstorage、sessionstorage,不受页面刷新影响而存储数据的俩种方式。sessionstorage页面关闭后就清除掉了,localstorage不会。

注:很多同学觉得用localstorage可以代替vuex, 对于不变的数据确实可以,但是当两个组件共用一个数据源(对象或数组)时,
如果其中一个组件改变了该数据源,希望另一个组件响应该变化时,localstorage,sessionstorage无法做到【这两个组件同时存在。比如一个祖组件,一个孙组件】。因为vuex利用了vue的数据双向绑定,数据是响应的。有兴趣的可以查查vuex实现的原理

 

参考

cookies、sessionStorage和localStorage以及vuex解释及区别_有蝉的博客-优快云博客_vuex和cookie的区别

localStorage(本地储存)_小憨憨不敢。的博客-优快云博客_localstorage

SuperPoint+SuperGlue在HLoc中的实战效果对比:5大公开数据集测试报告 本文在HLoc框架下,对传统SIFT与深度学习组合SuperPoint+SuperGlue在五大公开数据集上的视觉定位效果进行了实战对比测试。报告详细分析了两种方案在Aachen Day-Night、RobotCar Seasons等不同光照、季节及场景下的表现,揭示了SuperPoint+SuperGlue在应对剧烈光照变化和长期外观变化时的显著优势,并提供了基于HLoc模块化设计的选型与配置策略。 阅读详情

相关推荐

免费 AIS船舶轨迹预测 数据集 分享 (可用于长周期轨迹预测)

论文中使用的数据由提供。有关预处理步骤的详细信息,请参阅。

qq_43747519的博客 1万+

vuex和localStorage的区别

vuex和localStorage的区别

qq_36775614的博客 3889

kaggle——信用卡欺诈检测项目实战

笔记第一步:了解题目,确定任务第二步:场景分析第三步:数据预处理看是否有缺失值查看样本类别分布数据不均衡解决办法数据值标准化/归一化第四步:特征工程1)查看特征分布情况,把不同类别下特征分布相差不大的特征删除掉2)特征缩放第五步:模型训练处理不平衡样本交叉验证求取最好的模型参数第六步:模型评估使用下采样数据训练与测试使用下采样数据训练与测试(不同的阈值对结果的影响)使用下采样数据训练,原始数据进行测试原始数据进行K折交叉验证使用原始数据进行训练和测试查看ROC曲线逻辑回归阈值选择过采样总结 第一步:了解题目

weixin_45942265的博客 1万+

Vue 中 使用 vue-cookies和vue-session

一、Vue中使用vue-session 1.npm 安装 vue-session npm install vue-session 2.在main.js中引入 import VueSession from 'vue-session' Vue.use(VueSession) 3.使用 this.$session.set("key",value); //存session thi...

龚箭的博客 2万+

Vivado新手避坑指南:搞懂Generate Output Products和Create HDL Wrapper到底在干啥

本文深入解析Vivado设计流程中的Generate Output Products和Create HDL Wrapper两大关键步骤,帮助新手理解其核心功能与操作要点。通过详细讲解文件生成类型、关键选项设置及常见问题解决方案,指导开发者正确使用这两个功能,避免设计流程中的常见错误,提高FPGA开发效率。

weixin_29207149的博客 313

保姆级教程:在Windows/Mac上搞定SAM 3的权重和BPE文件下载与配置

本文提供了一份详细的SAM 3权重和BPE文件下载与配置指南,特别针对国内开发者遇到的下载缓慢和配置错误问题。通过国内镜像源快速获取文件,并详细介绍了环境检查、文件下载、路径配置及常见问题解决方案,帮助开发者高效完成SAM 3的部署与使用。

weixin_42547431的博客 553

在vue中使用vuex和session Storage保存用户登录状态

1.安装vuex 使用npm包管理工具来安装Vuex,命令格式如下所示: npm install vuex --save 在命令中加上-save是因为这个包需要在生产环境中使用 更多安装方式请参考:Vuex 安装 2.安装完成后构建如下目录 vuex的目录结构: getters => 从基本数据派生的数据 mutations => 提交更改数据的方法,同步! ...

一路向北 1万+

亿佰特E77模块(STM32WLE5CCU6)LoRa通信实战指南:从配置到应用开发

本文详细介绍了亿佰特E77模块(STM32WLE5CCU6)的LoRa通信实战指南,从硬件配置到应用开发。基于ARM Cortex-M4内核的E77模块集成了LoRa射频前端,具备超低功耗和硬件级抗干扰特性,适用于智能农业、工业现场等场景。文章提供了开发环境搭建、LoRa参数配置、实战通信及性能优化等实用技巧,帮助开发者快速掌握LoRa通信技术。

weixin_29164185的博客 762

Vuex 和 localStorage 的区别:理解内存与本地存储的不同

Vuex 和 localStorage 的区别

m0_68956554的博客 3158

基于双目视觉的行车中障碍距离检测方法研究与目标跟踪

本文将介绍基于Python语言的双目视觉技术,以及如何使用该技术检测行车中的障碍物并跟踪目标。双目视觉利用两个摄像头模拟人眼的立体视觉,通过对两个摄像头所捕捉的图像进行比较和分析,可以得到物体的深度信息。首先,我们需要安装Python的OpenCV库,该库提供了丰富的图像处理和计算机视觉功能。接下来,我们进入一个循环中,不断读取左右图像,并将其转换为灰度图像。在视差图上,您可以实现目标检测和跟踪算法来识别和跟踪行车中的障碍物。请注意,上述代码只是一个简单示例,您可以根据具体需求和算法进行修改和扩展。

ZgnObjectivec的博客 278

如何使用 SAP ABAP Development Tool 连接 SAP BTP 上的免费 ABAP 编程环境

在云端环境编写 ABAP 代码会遇到一些限制,比如你无法在云端 ABAP 编程环境进行发生在传统 SAPGUI 里的 Dynpro 和 Screen 编程。部分在 SAPGUI 里使用的 List 处理相关的关键字比如 WRITE,还有 CALL TRANSACTION 等代码,也无法在云端使用。 当然如果大家觉得上面提到的这些限制不会影响自己的 ABAP 学习,就可以继续本文的阅读,使用 ABAP Development Tool 登录云端的 ABAP 编程环境。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1521

前端面经(一)

本人大三寒假找实习,感觉面试官问的还是很基础的 但是因为我准备不足,第一次面试还有点紧张,有几个没答上QAQ 在此总结学习一下~ 1.js数据类型知道哪些?类型判断的方法有哪些? 答了基本数据类型(6个)、引用数据类型(对象和数组) 各种判断方法 2.闭包是什么?(这个答的不太好...) 闭包:可以访问另一个函数作用域变量的函数,将函数内部和函数外部连接起来的桥梁 3.闭包的缺点是什么? 答了容易引发内存泄露 ,然后接着被问到了内存泄露是什么 (QAQ忘记了) 函数执行完以后 函数内部的..

zzz0010的博客 429

31、自然语言生成中的流畅度评估

本博客探讨了自然语言生成(NLG)中流畅度评估的重要性和方法。文章详细介绍了流畅度的定义及其影响因素,包括句法结构、词汇选择、语义一致性和段落组织。同时,讨论了自动评估和人工评估两种主要方法,并以机器翻译、自动摘要和对话系统为例分析了流畅度评估的应用场景。最后,文章提出了提升流畅度的技术策略以及未来研究方向,为相关领域的研究者和开发者提供了有价值的参考。

h9j8k7l6m5n的博客 275

题目第三波

h5标签,为什么加强语义化 为什么要清楚浮动,怎样清除浮动 行内元素、块级元素有哪些,它们有什么区别 有哪几种存储数据的方式,有什么不同 vue实现双向绑定原理 详解:click 核心为Object.defineProperty(obj,prop,descriptor),翻译:为对象定义属性。obj:定义其上属性的对象;prop:要定义或修改的属性;descriptor:具体的改变方法。obj.prop调用其get方法,obj.prop = ‘something’ 调用其set方法。 通..

weixin_45656737的博客 156

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Web前端之浏览器本地存储、框架存储、SessionStorage、LocalStorage、lndexedDB、Cookies、WebSQL、vueX

Web前端之浏览器本地存储、框架存储、SessionStorage、LocalStorage、lndexedDB、Cookies、WebSQL、vueX

优快云博客主页地址:https://mengjian.blog.youkuaiyun.com/ 723

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

cookie、 sessionStorage 、localStorage之间的区别和使用

1.cookie:存储在用户本地终端上的数据。有时也用cookies,指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端上的数据,通常经过加密。一般应用最典型的案列就是判断注册用户是否已经登过该网站。 2.HTML5 提供了两种在客户端存储数据的新方法:(http://www.w3school.com.cn/html5/html_5_webstorage.asp)...两者都是仅...

ygh5123687的博客 287

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

cookie,localStorage,SessionStorage三者的区别,以及在vue中的用法

cookie,localStorage,SessionStorage三者的区别,以及在vue中的用法 基本概念 cookie cookie英文饼干,顾名思义,大小应该非常小,cookie非常小,它的大小限制在4kb左右. localStorage localStorage是HTML5标准中新加入的技术,如今localStorage被大多数浏览器所支持。 sessionStorage sessionStorage与localStorage的接口类似,但保存数据的生命周期与localStorage不同。而ses

多晴丶 1544

状态管理:Vuex、Redux、Pinia与浏览器存储的对比与关系

本文探讨了前端状态管理工具(Vuex、Redux、Pinia)与浏览器存储(LocalStorage、SessionStorage、Cookies)的区别与联系。状态管理库主要用于内存中的临时状态管理,不具备持久性;而浏览器存储可实现数据持久化,但功能单一。文章从存储位置、容量、持久性等维度对比了两者的差异,并提出了结合使用的方案:用状态管理库处理应用内部状态,通过浏览器存储实现数据持久化和同步。最后给出了根据数据类型选择存储方式、实现状态持久化等最佳实践建议,帮助开发者构建更高效的前端应用。

你若盛开,清风自来 1413

props配置项,scoped样式,localStorage和sessionStorage

1 使用方式一props: ['msg'], # 基本用法,没有限制类型#2 使用方式二 中级用法,有限制类型props: {msg: {type: String, //类型},# 3 使用方式三:高级用法,有限制类型,限制是否必填,加默认值props: {msg: {type: String, //类型required: true, //必要性default: '老王' //默认值。

冰冰凉沉甸甸的博客 826

Vuex数据持久化存储

Vue项目中使用Vuex作为状态管理,相当于全局的变量存储,可以在所有的vue组件中共享数据、动态修改其状态。但是当我们去刷新浏览器的时候,store中的状态都会被清空、重新初始化为最初的状态,在某些情况下,我们可能需要将这些状态保存下来,所以这篇来介绍如何让vuex或pinia的状态持久化存储。要实现持久化存储,简单来说就是将其状态保存到localStorage或者sessionStorage中。修改状态的时候,往session中存储一下,state从 session中取,达到持久化存储的效果。.....

Wangdr的博客 2865

Vuex和缓存(Storage)区别

记录关于Vuex和缓存(Storage)区别,以及cookies和localStorage/sessionStorage的区别

Helen_T的博客 1988

vue中解决vuex在页面刷新后数据丢失的问题

1. 原因 js代码是运行在内存中的,代码运行时的所有变量、函数也都是保存在内存中的。   刷新页面,以前申请的内存被释放,重新加载脚本代码,变量重新赋值,所以这些数据要想存储就必须存储在外部,例如:Local Storage、Session Storage、Index DB等。这些都是浏览器提供的API,让你可以将数据存储在硬盘上,做持久化存储。具体选择哪一个就根据你实际需求来选择。    二、...

kirinlau的专栏 3171

Vuex状态持久化

theme: qklhk-chocolate highlight: atelier-cave-light 描述 Vuex用于处理组件之间通信以及状态管理的问题; Vuex本质上就是一个保存在内存中的对象,存在的问题就是当页面刷新后该对象就会被重新初始化; 之前存的数据就拿不到了,于是在使用这些数据的地方就可能发生报错; 解决的方法就是把state中的数据做一个持久化存储或者说备份; 一般就存在localStorage、sessionStorage或者cookies中; 这里以localStorage为例.

weixin_45610518的博客 1213

sessionStorage,localStorie,cookie的使用选择

sessionStorage,localStorage,cookie 虽然用的多,但是我现在也遇到一些问题 如果登录状态,同一标签下共享数据,把网址复制粘贴到新打开的标签页里,依旧可以打开(sessionStorage不满足) 如果登录的时候选了十天免登陆,那我十天之后,怎么清除账号密码,(localStorage永久有效的,除非手动改清除,但是api并没有提供时间记录) sessionStorage只能在同一标签下共享,把网址复制粘贴到新打开的标签页里面,你会惊喜的发现,what?居然不共享。

不想起床 368

在前端开发中,如何保存一个页面的状态?

在前端开发中,保存页面状态是提升用户体验的关键,它能确保用户在刷新、导航或离开后返回时,页面能恢复到之前交互的状态。下面这个表格汇总了主要的实现方案,帮你快速了解其核心区别。方法分类具体技术核心机制 / 生命周期主要适用场景​​​数据,除非手动删除。同源页面可共享。长期用户偏好(如主题、语言)、登录状态。​数据仅在有效,关闭标签页即清除。临时表单数据、单次会话内的浏览状态。​​可设置过期时间,每次HTTP请求自动携带。存储空间小(约4KB)。

2202_75961842的博客 597

Vuex状态持久化终极方案:vuex-persistedstate深度解析与实践指南

你是否曾经遇到过这样的场景?用户在使用你的Vue.js应用时,填写了复杂的表单数据,或者进行了多步骤的操作,突然页面刷新或浏览器关闭,所有状态数据瞬间消失,用户不得不重新开始。这种糟糕的用户体验在单页面应用(SPA)中尤为常见。 **vuex-persistedstate** 正是为了解决这一痛点而生的Vuex插件,它能够自动将Vuex状态持久化到本地存储(localStorage、sessio...

gitblog_00639的博客 471
上一篇: vue项目引入阿里巴巴矢量图标库 ——字体图标
下一篇: cookie session token
BUG_devil
博客等级 码龄5年 45粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值