返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue中localStorage那些你不知道的知识分享
  • 598
分享到

Vue中localStorage那些你不知道的知识分享

Vue localStorage用法Vue localStorage 2023-05-19 20:05:07 598人浏览 泡泡鱼
摘要

目录状态管理的必要性localStorage储存和获取数据生命周期VuexVuex的概念Vuex的工作流程Vuex和localStorage的区别总结前端开发中,状态管理是一个很重要

前端开发中,状态管理是一个很重要的话题。在vue.js中, Vuex是一个强大的状态管理工具,而localStorage则是一种用于存储和获取本地数据的机制。虽然这两个东西都可以用来存储数据,但它们之间还是有很大的区别。

状态管理的必要性

在了解Vuex和localStorage之前,我们先来看一下状态管理的必要性。

在Vue.js应用程序中,组件的状态需要在多个组件中共享。如果将状态保存在组件内部,那么跨组件的通信就会变得困难。此外,在处理异步请求或使用websocket连接时,状态可能会根据接收到的信息而改变。在这种情况下,如果不使用状态管理器,则可能会遇到诸如同样的数据重复渲染、缺少正确的查询结果等问题。

为了实现灵活性和可维护性,需要使用状态管理器。 这里的状态指的是应用程序中的可变数据。

localStorage

HTML5引入了一种叫做localStorage的机制。它可以让我们像cookie一样存储简单的键值对,但是相较于cookie更为强大且安全,它没有大小限制。当然,我们也可以使用sessionStorage和IndexedDB,但是这些都不适合长期使用。

储存和获取数据

localStorage提供了两种方法setItem()和getItem(),可以很方便地储存和获取数据。

localStorage.setItem('name', 'Tom');
var name = localStorage.getItem('name');
console.log(name); // 输出: Tom

在这里,我们将名字Tom存储在localStorage中,并使用getItem()方法检索数据。

生命周期

通过localStorage设置的数据是长期的,除非用户手动清除它们。 这意味着,即使关闭浏览器并重新打开它,数据仍然会存在。

而且,localStorage也可以在不同的标签页之间进行数据共享。让我们看一个例子:

在tab A中执行以下操作:

localStorage.setItem('count', 0);

在tab B中执行以下操作:

var count = localStorage.getItem('count');
console.log(count); // 输出: 0

在这个例子中,我们在tab A中将count初始值设为0, 然后在tab B中可以访问该值。

Vuex

Vuex是Vue.js的状态管理工具。 它将应用程序中共享的所有状态集中在一个store中。 这使得跨组件通信更容易,同时还可以支持异步操作,当数据发生变化时使得组件重渲染更简单。

Vuex的概念

Vuex包含五个核心部分:state、getters、mutations、actions和modules。

  • State: 就相当于组件中的属性(data)。它是唯一的,并且驱动Vue.js应用程序的所有状态。
  • Getters: 可以理解为state的计算属性,就像computed一样。它们缓存一些常用计算结果,可以提高性能。
  • Mutations: 用于变更vuex状态中的属性。它们必须同步进行。Vuex使用提交(commit)而非直接变异来执行此操作。
  • Actions: 指定一种在组件中触发mutation的方法,可以包含任意异步操作。
  • Modules: 允许分割vuex全局状态为模块。每个模块都有自己的state、mutations、actions和getters。这使得更大和复杂的应用程序更易于管理。

Vuex的工作流程

当用户与应用程序交互并触发操作时,该操作可能会更改vuex状态。 以下是更改vuex状态的工作流程:

  • 组件分发一个action
  • action调用api或者执行其他异步操作
  • API响应将特定数据返回到action
  • action调用mutation以更新状态
  • mutation更改状态并通知所有已注册的观察程序
  • 所有注册了此mutation的组件都会进行更新

Vuex和localStorage的区别

在了解了Vuex和localStorage的基础知识后,我们来看一下它们之间的区别。

  • 这两个工具被设计为不同的目的:Vuex旨在管理Vue.js应用程序中的状态,而localStorage则提供了一种简单的本地存储机制。
  • 生命周期不同:localStorage中保存的数据可以长期存在,除非明确清除,而Vuex存储的数据仅在Vuex实例存在的生命周期内存在。
  • 面向的对象不同:localStorage面向键/值对,而Vuex面向状态(状态是可以作为字典键的对象)。
  • 对于数据量较大的情况, localStorage性能上可能会有问题。而Vuex由于是专门维护状态的库,所以无论是数据量还是读写操作都比localStorage更为高效、快速。

总结

当然,在选择使用状态管理器还是本地存储时,需要考虑很多因素。localStorage适合保存少量且轻量级的数据,可以很容易地读写,不需要依赖服务器。而Vuex适合处理大型复杂应用程序的状态管理。它提供了丰富的API和组件更新生命周期,可以显着简化Vue.js应用程序中的状态管理。

项目中的使用场景同样需要根据实际情况来进行选择。比如,在多个页面或者插件之间共享一些状态,使用Vuex会更加方便快捷,而对于用户信息、token这类轻量级且长期存在的内容则更适合使用localStorage进行缓存。

最后,通过使用这两种工具,你可以更好地维护网页应用程序的状态,并构建更高效的用户体验。

以上就是Vue中localStorage那些你不知道的知识分享的详细内容,更多关于Vue localStorage的资料请关注编程网其它相关文章!

--结束END--

本文标题: Vue中localStorage那些你不知道的知识分享

本文链接: https://lsjlt.com/news/213718.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue中localStorage那些你不知道的知识分享
    目录状态管理的必要性localStorage储存和获取数据生命周期VuexVuex的概念Vuex的工作流程Vuex和localStorage的区别总结前端开发中,状态管理是一个很重要...
    99+
    2023-05-19
    Vue localStorage用法 Vue localStorage
  • 那些你不知道的 TCP 冷门知识
    ...
    99+
    2015-03-17
    那些你不知道的 TCP 冷门知识
  • 你可能不知道的Shell(有趣的知识)
    Shell也叫做命令行界面,它是*nix操作系统下用户和计算机的交互界面。Shell这个词是指操作系统中提供访问内核服务的程序。 这篇文章向大家介绍Shell一些非广为人知、但却实用有趣的知识,权当品尝sh...
    99+
    2022-06-04
    你可 有趣 知识
  • 可能不知道的sudo知识有哪些
    可能不知道的sudo知识有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。大家都知道 sudo,对吗?默认情况下,该工具已安装在大多数 Linux 系统上,并...
    99+
    2023-06-16
  • 详解C++引用变量时那些你不知道的东西
    引用变量延迟绑定 我们知道引用变量定义时要立刻赋值,告诉编译器他是谁的引用.如果不赋值,编译会失败. 如果引用变量是单个定义的,对他赋值还比较简单. struct test_T { ...
    99+
    2022-11-13
    C++引用变量 C++ 变量
  • 你必须知道的 PHP 中的内存管理知识
    内存管理是 PHP 编程的一个重要方面,它可以极大地影响应用程序的性能和可伸缩性。 它涉及理解内存分配模型,通过高效的编程技术最大限度地减少内存使用,以及利用缓存和延迟加载等优化策略。 为了有效地管...
    99+
    2024-02-27
  • Vuex模块化那些你不知道的秘密:助你成为Vuex专家
    深入浅出理解Vuex模块化那些你不知道的秘密 Vuex的主要功能之一是模块化。模块化是指将应用程序的状态分解成更小、更易管理的块,每个块称为一个模块。这样做的好处有很多,包括: 提高可维护性和可读性:通过将应用程序的状态分解成更小的块,...
    99+
    2024-02-08
    : Vue.js Vuex 模块化 状态管理 最佳实践
  • Java代码审计的一些基础知识你知道吗
    目录JSP生命周期详细过程:War包结构JAVA 内置对象JAVA 中的危险函数名词概念总结JSP生命周期 关键词:Web服务器,JSP容器,JVM(Java虚拟机),servlet...
    99+
    2024-04-02
  • JavaScript中你不知道的函数有哪些
    本篇文章给大家分享的是有关JavaScript中你不知道的函数有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。函数声明在JavaScrip...
    99+
    2024-04-02
  • Linux shell中必须知道的知识有哪些
    本篇文章为大家展示了Linux shell中必须知道的知识有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。我个人很喜欢使用 Linux 系统,虽然说 Windows 的图形化界面做的确实比 Li...
    99+
    2023-06-16
  • PHP中必须知道的知识点有哪些
    这篇文章主要介绍“PHP中必须知道的知识点有哪些”,在日常操作中,相信很多人在PHP中必须知道的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中必须知道的知识点有哪些”的疑惑有所帮助!接下来...
    99+
    2023-06-20
  • C#中所要知道的知识点有哪些
    本文小编为大家详细介绍“C#中所要知道的知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中所要知道的知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.在C#中,类名首字母需大写。如:c...
    99+
    2023-07-05
  • Java中的这些骚操作你不能不知道!!!
    目录1、try with catch2、instance of3、不定项参数 ...4、跳出多层循环的label5、方法引用总结:1、try with catch 还记得这样的代码吗...
    99+
    2024-04-02
  • 学习数据库,你不得不知道的关于索引的小知识
      有了图,接下来,就是对于我今天看的内容觉得比较好的分享,文末有福利 1、select * 对效率的影响 在我们平时的代码编写或面试题中,很多人都会疑惑:select * 到底合理吗? 如果说不合理...
    99+
    2018-01-19
    学习数据库,你不得不知道的关于索引的小知识
  • 分享一个你不知道的Java异常实现的缺陷
    目录前言模拟1、自定义异常2、模拟异常原因前言 Java中一个大家熟知的知识点就是异常捕获,try...catch...finally组合,但是很多人不知道这里面有一个关于Java的...
    99+
    2022-12-08
    Java异常实现缺陷 Java异常 Java 缺陷
  • JavaScript中你不知道的Object.entries用法
    目录前言1. 使用 for...of 遍历普通对象2. 普通对象与 Map 对象相互转换总结参考前言 平时我们经常会用到 Object 类上的静态方法,例如 Object.keys ...
    99+
    2024-04-02
  • 谈谈C语言中位运算你要知道的那些事儿
    目录一、概念说明1.概念1.1位运算1.2位运算符2.举例及补充2.1位运算2.2位运算符二、问题实战1.问题描述(开放题)2.输入输出三、源码实现(+详细注释)1.注释版2.纯源码...
    99+
    2024-04-02
  • 揭秘那些你不知道的操作系统虚拟机隐藏功能
    查看虚拟机隐藏文件 虚拟机中通常会有一些隐藏文件,这些文件对于虚拟机的正常运行非常重要,但是通常情况下是看不到的。如果需要查看这些隐藏文件,可以在命令提示符中输入以下命令: dir /ah 回车后,就可以看到虚拟机中所有隐藏文件。 ...
    99+
    2024-02-10
    操作系统虚拟机 隐藏功能 虚拟化 技术
  • Linux系统中一些你可能不知道的事
    小编给大家分享一下Linux系统中一些你可能不知道的事,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux是一套免费使用和自由传播的类Unix操作系统,是一个...
    99+
    2023-06-10
  • PHP和Django中的重定向:你需要知道的所有知识
    PHP和Django中的重定向:你需要知道的所有知识 重定向是Web开发中常见的操作之一,它能够在服务器端引导用户浏览到另一个页面。在PHP和Django中,重定向也是非常常见的操作。在本文中,我们将深入探讨PHP和Django中的重定向,...
    99+
    2023-11-12
    django 教程 重定向
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作