- vuex概念:专门在vue中实现集中式状态(数据)管理的一个vue插件,对vue应用中的多个组件的共享状态进行集中式的管理(读/写)也是一种组件间通信方式,且适用于任意组件间
- 什么时候使用:多个组件依赖同一个状态,来自不同组件的行为需要变更同一状态
- 安装npm i vuex
Vuex开发环境
创建文件src/store/index.js
import vue from "Vue" 引入核心库Vue
import vuex from "Vuex" 引入Vuex
Vue.use(Vuex) 引用Vuex
const actions ={}准备actions 响应组件动作
const mutations ={}准备mutation 操作数据
const state ={}准备state 存储数据
const gatters ={bigsum(state){return state.sum*10}}将state中的数据进行加工
创建并暴露store expore default new Vuex.Store({
actions,mutations,state,gatters})
import store from "./store/index" 引入store,index.js该文件用于创建vuex里最为核心的store
在main.js中创建vm时传入store配置项
创建vm
new Vue({el:"#app",render:h=>h(app),store})
基本使用 配置actions,mutations,操作文件store.js
const actions={jia(context,value){context.commit("jia",value)}}
const mutitions={JIA(state,value){state.sum += value}}
组件中读取vuex中的数据:$store.state.sum
组件中修改vuex中的数据:$store.dispath("actions中的方法名",数据)或者$store.commit("mutitions中的方法名",数据)
如果没有网络请求或者其他业务逻辑,组件可以越过actions,可以不写dispath,直接编写commit