1.Vuex概念vue
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式vuex
这个状态自管理应用包含如下几个部分:npm
如下是一个表示“单向数据流”理念的极简示意:api
Vuex基本思想app
1. action 提交mutation,而不是直接更改状态异步
2.action 能够包括异步操做,mutation只能同步this
3.modules 将store分割成模块(modules),每一个模块拥有本身的(state,mutations,actions,getter);方便维护spa
4.store 改变状态时经过 (commit) mutationscode
2. 引入vuexcomponent
npm install vuex --save
3.在src/store文件下下建立一个store.js
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({
state: { count: 0, apiDocInfo: { operationId: "" } }, mutations: { //设置apiInfo的值 setApiInfo(state, apiInfo) { state.apiDocInfo = apiInfo }, increment: state => state.count++, decrement: state => state.count--, } })
3.在 main.js中添加
//Vuex import store from './store/store' // 引入store 对象 new Vue({ el: '#app', store,// 注入到根实例中 router, components: { App }, template: '<App/>' })
4.SetValue
queryApiInfo(){ let apiDocInfo={ operationId:operationId }; //直接设置 // this.$store.state.apiDocInfo=apiDocInfo; //commit设置 this.$store.commit('setApiInfo', apiDocInfo);// SET_ORDER为order值的设置方法的方法名 },
5.获取值
<template> <div > <span>{{count}}</span> <span>{{apiDocInfo}}</span> </div> </template> <script> import {mapState} from 'vuex'; export default { computed:mapState({ count:state => state.count, apiDocInfo :state => state.apiDocInfo, }), } </script>