vuex 与 (sessionStorage 、localStorage)区别
首先,理解vuex的作用
每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。
Vuex 和单纯的全局对象有以下两点不同:
-
Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
-
你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。
通过对上面的理解,至少可以区分vuex与全局对象的区别,正如此,全局对象一般存储在session中,所以这就是vuex与session的区别。
注:官方文档进行查看 vuex
通过存储方式及类型区别
- 存储位置 : vuex存储在内存,而session则以文件的方式存储在本地;
- 应用场景 : vuex用于组件间的传值,而session则用于页面间的传值;
- 时效性 : vuex存储的值刷新时会丢失,而localstorage不会清除,除非手动删除;
还可以换种说法:
当 vuex 与 storage 关联的数据不变时,两者是等同的;但当是其中一个组件改变该数据时,同时另一个组件用到此数据,vuex是可以实现的,但storage是不可以的。
网友评论