1. 程式人生 > 其它 >VueX模組化命名

VueX模組化命名

參考部落格: https://blog.csdn.net/JHY97/article/details/124385960

api/index.js

//當前這個模組:API進行統一管理
import request from './request'
//發請求:axios發請求返回結果Promise物件
export const reqCategoryList = () =>
  request({ url: '/product/getBaseCategoryList', methods: 'get' });

store/index開啟名稱空間

import Vue from 'vue'
import Vuex from 'vuex'
import home from "./home/index"
import search from "./search/index"
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
// 自定義模組命名1:模組名1,
//自定義模組命名2:模組名2,
  homeStore:home,
  searchStore:search
}
})

store/home/index.js

//home倉庫
import { reqCategoryList } from "../../api/index"
const state = {};
const mutations = {};
const actions = {
  CategoryList(){
      let result = reqCategoryList();
      console.log(result);
  }
}

export default {
// 開啟名稱空間
  namespaced:true,
  state,
  mutations,
  actions
}

 

compomemts/TypeNav/index.vue使用資料

namespaced:true,開啟命名路由

<template>
</template>
<script>
export default {
name: "TypeNav",
data() {
  return {};
},
activated() {},
watch: {},
created() {
  //this.$store.dispatch('自定義模組命名/actions中方法名', data)
this.$store.dispatch("homeStore/CategoryList","CategoryList");
},
mounted() {},
methods: {},
};
</script>