全局状态管理vue
多组件共享状态 多个组件使用同一个数据vuex
任何一个组件发生改变 其余的组件也要跟着发生相应的变化npm
下载 npm install vuex异步
建立全局状态管理的实例模块化
注册函数
在组件里使用全局状态值 a.获取渲染全局状态值b.修改全局状态值工具
state 全局状态数据mutation 规定只有mutation才能修改state 经过commit方法触发action 能够放异步操做 触发mutation 经过dispatch 触发getter vuex里的计算属性 和state值进行关联 state发生改变 能够从新计算,而且能够在页面上直接使用spa
统一管理异步请求减小代码量开发
时间旅行更加准确 vue的开发者工具get
开发者工具绿了 该网页必定是vue作的vue作的网页开发者工具不必定绿
组件里经过 $store.state 获取全局状态数据进行渲染
经过 $store.commit 方法触发mutation 修改全局状态值 整个页面都会变
模块化以后state的取值须要添加一级模块名 其余的三个核心不变
能够在模块里添加命名空间 做用就是在 mutation getters actions的名字前面 添加模块名用处就是防止名字冲突
组件里经过 $store.state 获取全局状态数据进行渲染
经过 $store.dispath方法 触发action里的方法
action 触发mutation进行修改全局状态值
帮助咱们减小代码量
mapState 将全局状态管理的state值映射到使用组价的计算属性mapGetters 将全局状态管理的getters值映射到使用组价的计算属性
mapMutations 将mutation的值映射到 方法里mapActions 将actions里的值映射到方法。