Midshar.top 2024-01-30 12:53 采纳率: 66.7%
浏览 5
已结题

使用Vuex时调用commit方法报错

TabBar模块:

img


引入的常量模块:

img


MovieDtail组件:

img


模块化形式引入TabBar:

img


点击NowPlaying组件中的列表内容,跳转至MovieDetail组件:

img


浏览器报错:

img

如图,我在使用vuex模块化功能时,将TabBar以模块化的形式导入store,
并且在TabBar中引入了以常量代替mutation事件的方法 SWITCH_TAB,
引入之后我在MovieDetail.vue组件中调用:

this.$store.commit(SWITCH_TAB,{'bool':true}) 

浏览器报错:"unknown mutation type: switchTab"
但是当我用辅助函数的方法:

methods:{...mapMutations('TabBar', [SWITCH_TAB])} 

再调用:

this.switchTab({ 'bool': false }) 

又可以正常运行了,实在不知道是怎么回事,有人帮忙指点吗?

  • 写回答

3条回答 默认 最新

  • Midshar.top 2024-01-30 15:07
    关注

    已解决。.
    解决办法是在添加命名空间的情况下:

    namespaced:true
    

    在调用commit时要遵循以下写法:

    this.$store.commit(`TabBar/${SWITCH_TAB}`,{'bool':false} )
    

    其中的 TabBar 是对应 module 模块的名称

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月7日
  • 已采纳回答 1月30日
  • 创建了问题 1月30日

悬赏问题

  • ¥20 Keil uVision5创建project没反应
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
  • ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
  • ¥15 io.jsonwebtoken.security.Keys