先来说一下Vuex是什么?

官方给出的解释:
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。
通俗易懂的解释:
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。核心就是 store(仓库),仓库是用来干什么的?你就当它用来储存东西的。可供组件与组件之间共享的数据,不用来回繁琐的进行页面传值了,你也可以理解为升级版的全局变量,没有全局变量页面传值需要A->B,B->A来回传很麻烦,特别是页面层级比较深的时候,但是用全局变量就很方便,直接读取就可以了
接下来说一下和本地存储localstorage的区别
本地存储有两种;
1.sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。
2.localStorage 方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用,除非程序删除,或者手动在浏览器缓存里面删除,怎么删除缓存看这里 。https://blog.csdn.net/m0_46156566/article/details/108519629

区别:vuex存储在内存,vuex会随着页面的重启刷新一起重置状态,localstorage(本地存储)则以文件的方式存储在本地,永久保存;sessionstorage( 会话存储 ) ,临时保存。localStorage和sessionStorage只能存储字符串类型,对于复杂的对象可以使用ECMAScript提供的JSON.stringify(obj)将其转成字符串,取出来时使用 JSON.parse(str)重新转成对象,而vuex可以存储复杂数据类型。

如果不是大型项目不建议引入vuex,小型项目用页面传值和本地存储也还是挺方便的,希望可以帮到大家!

Logo

前往低代码交流专区

更多推荐