走り続けてこそ人生.

localStorage和vuex的区别和联系

2018/12/05

这是两个完全不同的概念 =。= 之前刚接触vue的时候也是傻傻分不清,看到萌新跟当初的我一样有相同的疑问,那就系统记录下。

首先 vuex 是给 vue 用的状态管理库(除了能管理数据 state,还能管理读写数据的操作 mutation ),而 localStorage 仅仅是个浏览器提供的api,在状态管理这方面,它只起到将数据持久化存储的作用,至于管理读写数据的操作,不存在的……

并且,vuex 中的数据是存储在内存中的,页面刷新就会丢失,而 localstorage 则是存储在计算机本地,刷新并不会丢失

举个栗子深入理解 vuex

如果你的整个项目是一个酒店,这间酒店能用做菜的 原材料data)和 厨具function)做出各种美味的 菜肴经过处理的 data,注入到写好样式的页面中),各个.vue文件.js文件都看作是一个单独的酒店房间,都能堆放各种 datafunction

那么 vuex 就是这间酒店的中心仓库,存储了整间酒店做所有各式菜肴都要用到的通用 原材料state)以及 厨具mutation

举个栗子深入理解 localStoragevuex 中的运用

比如你说的用户信息 userInfo ,在 vuex 中是放在整个单对象树的 state 属性里的,书写管理这个 userInfomutation 有两种方案:

方案一:

不使用 localStorage 。页面每次要用到 userInfo 都是直接通过发送请求从api服务器处获取

方案二:

使用 localStorage 。 先声明一个调用 api 拉取用户信息到本地并存入 localstorage 的 getUserInfoFromAPIsaveToLocalStorage() 方法,要用到 userInfo 的时候,则调用从本地 localstorage 读取用户信息的 getUserInfoFronLocalStorage() 方法

在 vuex 里,getUserInfoFromAPIsaveToLocalStorage()getUserInfoFronLocalStorage() 这两个 function 是放在 mutation 属性里的

CATALOG
  1. 1. 举个栗子深入理解 vuex
  2. 2. 举个栗子深入理解 localStorage 在 vuex 中的运用