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>