1、什么是vuex?
Vuex 是一个专门为Vue.js 应用程序开发的状态管理模式。她采用 集中式存储 管理应用的所有组件状态,并以相应的规则保证状态以一种可预测的方式发生变化。
就是专门解决页面与页面之间需要的共享变量的创建、维护、变更问题的。
2、Vuex的核心概念
每一个Vuex应用的核心就是store(仓库)。“store”基本上就是一个容器,它包含真你的应用的大部分的状态(state)。
3、Vuex和单纯的全局对象有以下两点不同:
-
Vuex的状态是响应式的。当Vue组件从store 中读取状态的时候,若store
中的状态发生变化,那么相应的组件也会相应的得到高效更新。 -
你不能直接改变store 中的状态。 改变store
中的状态的唯一途径就是提交(commit)mutation。这样使得我们可以方便跟踪每一状态的变化,从而让我们能够实现一些工具帮助我们更好的了解我们的应用。
4、核心概念图和vuex的核心概念:
view-> (dispatch)Actions ->(commit)Mutations ->(mutate)State ->(render)view
注意:Action 不是必需的,如果有异步操作才可能用到Action ,否则可以不使用。
1、state - Vuex store实例的根状态对象,用于定义共享的状态变量。
2、Action -动作,向store发出调用通知,执行本地或者远端的某一个操作(可以理解为store的methods)
3、Mutations -修改器,它只用于修改state中定义的状态变量。
4、getter -读取器,外部程序通过它获取变量的具体值,或者在取值前做一些计算(可以认为是store的计算属性)
5、Vuex在vue-cli中的简单应用
第一步:npm(cnpm)下载vuex资源包
npm install vuex --save
第二步: 在src文件夹下新建 store/index.js的文件
第三步:在src/main.js中引入
应用状态很多复杂的时候,使用单一的状态树会显得store 非常的臃肿。Vuex允许我们将store分割成模块(module)。具体查看官网https://vuex.vuejs.org/zh/guide/modules.html
vuex的设置和获取: