1、Cookies。这个不说了,容量小,还有性能问题。
2、localStorage、sessionStorage,IE8+才支持,容量一般在5MB左右。
3、WebSQL,IE不支持。好处是结构跟关系型数据库一样,而且没有容量限制;缺点是慢。
4、IndexDB,IE10+才支持,已被废弃的一种特性(废弃的意思是你可以继续使用,但是浏览器厂商已经不再维护这个特性了,即使有BUG也没人管了)。
业界普遍做法一般是 localStorage 配合 IndexDB 使用,很少说有需要在浏览器端存储超过5MB以上的数据的。
1 .如果想让某些数据页面刷新之后不消失,那就可以结合本地存储做到数据持久化2 .比如之前的搜索记录,还有一些需要依赖的数据。比如本次活动的代号存下来,让我在一段时间内,根据这个编号来确定相关代号代表的一批数据可以缓存在本地,一遍在下一次请求的时候快速返回
3 .实现原理:在mutations定义的方法里对vuex的状态操作的同时对存储也做相应的操作
4 .插件vue-savedata,vuex-persistedstate
5 .实际实现:监听浏览器的刷新,刷新之前把vuex存在本地,在路由拦截处获取本地储存,放进vuex并删除本地存储,可以自由控制存localstorage和sessionStorage,完全避免插件来消耗性能。
6 .不同页面之间的数据传值,vuex适合组件间传值。
7 .有的问题研究一分钟和一个小时,是会发现不同的问题。
1 .vuex存储在内存。localstorage则以文件的方式存储在本地
2 .应用场景:vuex用于组件之间的传值,localstorage则用于不同页面之间的传值
3 .永久性:当刷新页面时vuex存储的值会丢失。localStorage不会删除
4 .localstorage:只能进行简单的数据读写,对不同组件之间读取数据并做数据转化时,需要对每个读写操作都写一遍代码,重点是存放
5 .vuex是状态管理,重点是管理数据,一个是数据容器,一个是数据管理器。
下列选项(默认保存store中的每个数据到本地 )
可以为您的特定需求配置插件: (参数都是可选的:有默认值)
1.store/index.js