main.js import Vue from 'vue' import App form './App' import router from './router' import store from './store'
new Vue({ el: '#app', router, store, template: '<App/>', components: { App } })
|
App.vue <template> <div id="app"> <router-view></router-view> </div> </template>
<script> export default { name: 'App' } </script>
|
store.js import Vue from 'vue' import Vuex from 'vuex' import app from './modules/app' import user from './modules/user' import vehicle from './modules/vehicle' import getters from './getters'
Vue.use(Vuex)
const store = new Vuex.Store({ modules: { app, user, vehicle, }, getters })
export default store
|
上文中的store中,modules使用store中的模块,方便数据分类管理。
vehicle.js import { taskOrderDetail } from '@/api/vehicle' const vehicle = { state: { requestCode:null, }, mutations: { SET_REQUESTCODE: (state, value) => { state.requestCode = value }, SET_VEHICLELISTDETAIL: (state, vehicleListDetail) => { state.vehicleListDetail = vehicleListDetail } }, actions: { setVehicleListDetail({ commit, state }) { return new Promise((resolve, reject) => { taskOrderDetail({ requestCode: state.request }).then(response => { commit('SET_VEHICLELISTDETAIL', response.data) resolve(response) }).catch(error => { reject(error) }) }) } } export default vehicle
|
vue组件中如何引用store中的数据
xx.vue import { mapState } from 'vuex'
export default { computed: { ...mapState({ vehicleListDetail: state => state.vehicle.vehicleListDetail, requestCode: state => state.vehicle.requestCode }) } }
|