vuex是什么?
是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
vuex 核心概念:
每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。
State : Vuex store实例的根状态对象,用于定义共享的状态变量
Getter : 外部程序通过他获取变量的具体值,或者在取值前做一些计算(可以认为是store的计算属性)
Action : 用于异步修改state中定义的状态变量,但修改也是调用mutation中的方法,而不是直接修改
Mutation : 用于修改state中定义的状态变量(必须是同步函数)
Moudel :由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。
为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割
如何在组件中去使用vuex的值和方法
vuex
state:{
count:1
}
组件中
//state
this.$store.state.count
//getter
this.$store.getter.count
//action 不带参数
this.$store.dispatch("方法名")
//action 带参数
this.$store.dispatch( "方法名" ,{key:value} )
//Mutation
this.$store.commit("方法名",需要的值)