vuex模块化管理 state ,mutations ,actions ,getters

7 篇文章 0 订阅
6 篇文章 0 订阅

因为项目越写越大,之前就是直接在store下的index.js文件直接写状态和数据,然后越写越多,也不方便维护,现在抽时间把项目store分一下模块管理,不懂的同学建议多参考vue官网api

在这里插入图片描述

1.首先创建Module文件夹,根据自己项目的需求创建自己的模块

在这里插入图片描述

2.在index.js文件引入你创建好的模块

import Vue from "vue";
import Vuex from "vuex";

import createPersistedState from "vuex-persistedstate";
import users from "./modules/users.js"; //用户信息
import globalJson from "./modules/Json.js"; //系统配置
import chatMsg from "./modules/chatMsg.js"; //融云消息
import products from "./modules/products.js"; //产品相关
import searchCondition from "./modules/searchCondition.js"; //查询条件

Vue.use(Vuex);
// 导出 store 对象
export default new Vuex.Store({
  modules: {
    users,
    chatMsg,
    products,
    searchCondition,
    globalJson
  },
  plugins: [
    createPersistedState({
      storage: window.sessionStorage
    })
  ]
});

3.每个文件都有自己的state ,mutations ,actions ,getters ,然后就可以根据你项目的需求写存储数据了

const state = {};
const mutations = {};
const actions = {};
const getters = {};

export default {
  namespaced: true,
  state,
  mutations,
  actions,
  getters
};

4,state在需要用到的组件中引入方式

import { mapState } from "vuex";

computed: {
    ...mapState({
      hallCount: state => state.chatMsg.hallCount,
      userInfo: state => state.users.userInfo
    })
  },

总结:以上就是简单的vuex分模块化,其实很多东西官网都有写很详细,一定要多了解,还有就是在项目开发的时候,一定要考虑到后期维护的问题,像我这种项目快开发完了再去分模块化,导致很多地方报错需要修改,当然项目熟悉修改起来也快,总之还是在开发的过程中一定要多考虑考虑,文章写得不好,有不足之处还请大家指教,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值