element-ui後臺管理系統學習(11)-vuex的引入與分模塊

第1步:安裝

npm install vuex --save

第2步:新建src/store/index.js文件

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
    state:{

    },
    mutations:{

    }
})

第3步:新建src/modules文件夾,新建src/modules/goods_create.js用於管理商品創建相關管理

export default {
	state:{
		skus_type:0,
		title: "",
		category: [],
		desc:"",
		unit:"",
		stock:0,
		min_stock:0,
		display_stock:0,
		status:0,
		express:""
	},
	getters:{
		
	},
	mutations:{
		// 修改state
		vModelState(state,{key,value}){
			state[key] = value
		}
	},
	actions:{
		
	}
}

注意:這裏mutatioins可以理解爲methods,vModelState方法中key表示傳遞的key,比如state.title。valiue表示賦值,實際上就是修改state.title的值

第4步:在src/store/index.js中引入

import Vue from 'vue'
import Vuex from 'vuex'
import goods_create from './modules/goods_create' //引入使用

Vue.use(Vuex)

export default new Vuex.Store({
    // 新增
    modules:{
        goods_create 
    }
})

第5步:在create.vue組件中引入,此時已經可以拿到數據了。

		computed: {
			...mapState({
				skus_type:state=>state.goods_create.skus_type,
				title: state=>state.goods_create.title,
				category: state=>state.goods_create.category,
				desc:state=>state.goods_create.desc,
				unit:state=>state.goods_create.unit,
				stock:state=>state.goods_create.stock,
				min_stock:state=>state.goods_create.min_stock,
				display_stock:state=>state.goods_create.display_stock,
				status:state=>state.goods_create.status,
				express:state=>state.goods_create.express,
			}),
			// 其他計算屬性
		},

個人理解:在goods_create.js中的mutations中的VModelState,在create.vue組件的中使用時,在methods中...mapMutations(['VModelState'])導入,然後便可以使用,傳值方式與goods_create.js中的mutations中的VModelState一樣,是對象{key, value}形式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章