Vuex中文官网
Vuex中文官网网址: https://vuex.vuejs.org/zh/
Vuex是做什么的?Vuex是一个专为Vue.js 应用程序开发的状态管理模式 。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。通俗易懂的讲Vuex是一个用来管理组件之间通信的插件,它解决了组件之间同一状态的共享问题,它能够更好地在组件外部管理状态。

一、Vuex一般用在什么地方?vuex使用场景
Vuex 可以帮助我们管理共享状态,并附带了更多的概念和框架。这需要对短期和长期效益进行权衡。如果不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。如果要创建的够简单,最好不要使用 Vuex。一个简单的 store 模式就足够了。但是,如果需要构建一个中大型单页应用,很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。
二、vuex怎么用?
1.下载vuex:
npm install vuex --save
2.在项目根目录下新建一个store文件夹,在文件夹内新建index.js,初始化Vuex:
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
const store = new Vuex.Store({
state: {count: 1000}
})
export default store;3.将store挂载到vue实例中,在main.js中添加:
import Vue from 'vue';
import store from './store/index'
import App from './App.vue';
import router from './router';
Vue.config.productionTip = false;
new Vue({
router,
store,
render: h => h(App),
}).$mount('#app')4.在组件中使用vuex
(1)将state中定义的count拿来在h1标签中显示:
<template>
<div id='app'>
<h1>{{ $store.state.count}}</h1>
</div>
</template>(2)或者要在组件方法中使用:
created() {
console.log(this.$store.state.count) // 打印出1000
}三、Vuex的核心概念
1、State:存储应用状态数据的对象,与vue中data类似
2、Getters:类似vue的计算属性,store中数据的变化,getters的数据也会发生变化
3、Mutations: 提交mutation来修改store中的状态,同步操作
4、Actions:与mutations类似,提交修改state的行为,处理异步任务(提交的是mutation,不是直接修改状态)
5、Modules: 模块化状态管理,为了开发大型项目,方便状态管理而使用的
