1.什么是vuex?
官方的解释: Vuex是一个专为Vue.js应用程序开发的状态管理模式
当项目比较庞大的时候,每个组件的状态比较多,为了方便管理,需要把组件中的状态抽取出来,放入Vuex中进行统一管理。常用的登录,购物车等一些数据的存储
State:
唯一的数据源,我们需要把任何一个组件中需要抽取出来的变量放入到state中去
Getters:
通过Getters可以派生出一些新的状态
Mutations:
更改Vuex的store中的状态的唯一方法
Actions:
Action提交的是mutation,而不是直接变更状态。Action可以包含任何的异步操作, 但mutation必须是同步操作。
操作步骤:
当组件中的状态发生改变,通过dispatch
函数提交到Actions
,Actions
再通过Commit
函数提交到Mutations
, 此时,状态发生改变都会实时的去渲染组件。
项目中如何使用vuex
1.安装vuex
cnpm install vuex --save
2.在src目录中,创建store文件,并创建vuex中模块的文件名,内容多的话建议全都拆开,便于管理模块。
3.然后在你的main.js文件引入
import "@babel/polyfill";
import Vue from "vue";
import App from "./App.vue";
import store from "./store";
new Vue({
router,
store,
render: (h) => h(App),
}).$mount("#app");
4.在你的index.js相当于vuex的主目录,文件都在index.js文件引入
import Vue from 'vue'
import Vuex from 'vuex'
import userInfo from './modules/userInfo';
import audioPlay from './modules/audioPlay';
import getters from './getters'