Vuex可以将它看成用来存放项目中各个组件所需要用到的一些公共变量的仓库
其在项目中存放于store文件夹中,主要由state, mutations, actions, getters, modules组成

state主要用来存放变量

组件使用该变量的方法

注意:安装完Vuex后要在main.js中进行导入和挂载
import Vue from 'vue'
import App from './App'
//导入
import store from './store'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
//挂载
store,
components: { App },
template: '<App/>'
})
mutations等同于methods将公共变量进行变更

使用该方法需要在App.vue的methods中进行提交


actions是进行异步操作管理的地方


在App.vue中先将携带的信息发送给actions中actions中进行异步操作再提交到mutations里
actions中使用Promise方法较为推荐(payload就是携带的信息)aupdate中所返回的promise被返回到**this.$store.dispatch(‘aupdate’,‘携带的信息’)**所以后面可以.then()
getters相当于计算属性


modules就是用来划分多个store



modules中的mutations和外部mutations用法一样只用commit到对应的函数中,如果modules中需要调用外部的属性则用如下写法

用的是modules内的getters 和modules外部的state
modules中的actions属性只能commit到modules中的mutation中,如果需要取外部的属性需要如上图一样写上root如rootgetters
611

被折叠的 条评论
为什么被折叠?



