• Vuex modules 中active相互调用


    大中型项目中使用vuex进行状态管理时,经常会按模块分割到不同的module中去,而操作中难免有模块中的active相互调用的情况,然而有时也会出现一些问题,这里顺便记录下

    store目录结构
    在这里插入图片描述

    在userLoginOut中调用其他模块的active

    const actions = {
      //  login
      userLoginOut({ commit, dispatch, rootGetters }, userInfo) {
          commit('permission/SET_ROUTES', [], { root: true }) // 清空permissin下SET_ROUTES
         console.log(rootGetters['user/usermenu']) // 获取user 模块下的usermenu属性
         dispatch('tagsView/delAllViews', null, { root: true }) // 派发事件执行tagsView 下的delAllViews  active
      }
     }

    上面方法中需要注意的是{root:true} 参数,如commit('permission/SET_ROUTES', [])这样vuex 就会默认拼接当前module user作为key 去查找对应的mutation,于是就会有如下错误

    vuex.esm.js?52c1:663 [vuex] unknown local mutation type: permission/SET_ROUTES, global type: user/permission/SET_ROUTES
    错误提示

    在此记录一下希望可以帮助遇到该问题的朋友

  • 相关阅读:
    SCP 命令
    linux下IPTABLES配置详解
    Linux rpm 命令参数使用详解
    Linux(Centos7)yum安装最新redis
    YUM常用命令介绍
    Centos7下Yum安装PHP5.5,5.6,7.0
    腾讯云CentOS7.0使用yum安装mysql
    如何在CentOS 6.5上升级PHP
    第一个Python程序
    Python简介及环境部署
  • 原文地址:https://www.cnblogs.com/dengxiaoning/p/13387928.html
Copyright © 2020-2023  润新知