浏览器报[vuex] unknown action type: findAllCustomers错误

一、前言

气哭!花了两个小时终于找到问题了!!!
一开始看到报错
[vuex] unknown action type: findAllCustomers
全部是这样的
在这里插入图片描述
咋一看以为是语法问题,或者是粗心小问题,然后去找,找了半天,越看代码越觉得没问题,各种试,试到怀疑人生,百度,谷歌,找了半天也没找到我想要的答案,最后去看文档。才发现是自己太年轻了!!!哈哈哈哈,

二、正文

错误原因

没有在数组前面传参,像这样

methods: {
         	//映射,将action中得到动作映射为vue中的方法
            ...mapActions(["findAllCustomers","deleteCustomerById","saveOrUpdateCustomer"]),
            ...mapMutations(["showMo","closeMo"]),
            
        }

之所以这样用,是因为我看了官方文档,没有注意在数组参数前面还能再传一个参数
在这里插入图片描述

解决办法

所以最后我将代码改成这样,就可以啦

methods: {
         	//映射,将action中得到动作映射为vue中的方法
            ...mapActions("customer",["findAllCustomers","deleteCustomerById","saveOrUpdateCustomer"]),
            ...mapMutations("customer",["showMo","closeMo"]),
            
        }
另附官方文档vuex

这里的知识点是涉及到命名空间的用法。
默认情况下,模块内部的 action、mutation 和 getter 是注册在全局命名空间的——这样使得多个模块能够对同一 mutation 或 action 作出响应。

如果希望你的模块具有更高的封装度和复用性,你可以通过添加 namespaced: true 的方式使其成为带命名空间的模块。当模块被注册后,它的所有 getter、action 及 mutation 都会自动根据模块注册的路径调整命名。


  • 而我的错误是因为添加了namespaced: true 之后,却没有将模块的空间名称(这里的’customer’就是是我自定义模块的名称)字符串作为第一个参数传递给上述函数,这样所有绑定都会自动将该模块作为上下文。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值