LastPoem / Notes

This is a note library
1 stars 0 forks source link

Vuex, localStorage的区别 #31

Open LastPoem opened 5 years ago

LastPoem commented 5 years ago

vuex存储在内存,localstorage(本地存储)则以文件的方式存储在本地,永久保存。 localStorage只能存储字符串,对于对象可以使用stringify和parse来处理。

具体:

vuex是状态管理,是为了解决跨组件之间数据共享问题的,一个组件的数据变化会映射到使用这个数据的其他组件当中。如果刷新页面,之前存储的vuex数据全部都会被初始化掉。

localStorage是H5提供的一个更简单的数据存储方式,之前是用cookie存放数据,但是cookie的数据量太小,所以就用localStorage,它可以有5M的限制,不受刷新页面的控制,长久保存。

对于不变的数据,可以用localStorage来处理,但是当不同组件共用同一个数据,如果其中一个改变了这个数据并希望另一个组件响应变化时,需要用到vuex。简单来说,vuex的用途更体现在组件间的信息传递(状态管理)

vuex和全局变量的区别: 1响应式vuex的状态存储是响应式的,当Vue组件从store中读取状态的时候,若store中的状态发生变化,那么相应的组件也会得到高效更新。

2不能直接改变store不能直接改变store的变化,改变store中状态的唯一途径是commit mutation。方便于跟踪每一个状态的变化。

LastPoem commented 5 years ago

对于网页访问的token的处理: 1.登录成功,后端返回一个token,登录成功。存储token,并跳转路由页面。 2.每次跳转路由,判断localStorage中有没有token,没有就跳到登录页面,有则正常跳转。 3.每次调用后端接口时都要在请求头中加token。 4.后端判断请求头中有无token,有token则拿到token并验证,成功则返回数据,失败或没有token返回401状态。 5.前端拿到401,清除token并跳到登录页面。