在以前开发的过程当中,对于项目中的状态的一些保存,大部分都是 在window.localStorage、sessionStorage、或者cookie中保存。可是 两这之间有区别的: vuex存储在程序中的内存中,应用于组件之间的传值(响应式),当刷新页面时vuex中 存储的值会丢失,vuex中将state当作全局存储。当刷新页面以后,会初始化state。 对于cookie 和 session 的区别: 参考文档:https://www.cnblogs.com/pengc/p/8714475.html vuex的原理 - 状态管理模式:state应用的数据源、view以声明的方式将state映射到视图上、 action响应在view上的用户的输入致使的变化。(参考官方文档:https://vuex.vuejs.org/zh) vuex中当多个组件共享组件时,多个视图依赖同一个状态;来自不一样视图的行为须要变动同 一个状态。所以把组件共享的状态提取出来,以一个全局单例模式管理。 vuex的核心就是store(仓库),包含应用中大部分的状态,与全局对象的有两点不一样: 一、vuex的状态时响应式的。当vue组件从store中读取状态时,若是store中的 状态发生变化,那么相应的组件也会更新。 二、改变store中状态的惟一方法就是显式的提交(commit)mutation。这样咱们可 以方便跟踪每个状态的变化。 基本概念: state:用一个对象包含全部的应用层级状态,也就是把全部须要用到的状态在这里先声明一下。 在组件中展现state的状态。因为vuex的状态存储是响应式的,从store实例中读取状态量, 最简单的方法是在"计算属性中"返回某个状态:
下面给出在vuex中模块化使用的方法:html
在src目录结构下新建store状态文件,里面包含store.js(包含多个store模块,登陆模块、网路请求模块)、
types.js(使用常量做为函数名,方便之后维护)。
下面看看store.js中对登陆模块的封装:vue