iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >使用vuex出现commit未定义错误如何解决
  • 221
分享到

使用vuex出现commit未定义错误如何解决

2023-07-04 23:07:05 221人浏览 安东尼
摘要

这篇文章主要介绍“使用Vuex出现commit未定义错误如何解决”,在日常操作中,相信很多人在使用vuex出现commit未定义错误如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”使用vuex出现com

这篇文章主要介绍“使用Vuex出现commit未定义错误如何解决”,在日常操作中,相信很多人在使用vuex出现commit未定义错误如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”使用vuex出现commit未定义错误如何解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    使用vuex的时候出现commit未定义错误

    出现的原因

    • 书写错误

    • 当然,这个错误不是你单词书写错误

    • 只要的原因是因为你的这个 方法里面没有 commit 这个方法

    • 为什么没有?其实它是有的,只不过在 context 里面

    • 你可能是直接写 commit(xxx)了

    错误展现过程

    首先我们先调用一下

    <div><input type="button" @click="$store.dispatch('listMore')" value="加载更多"></div>

    为什么是 dispatch ,因为你不是用 commit 了吗?

    这个就是在 actions 里面调用 mutations 里面的方法的

    然后就是代码:

    actions = {     login(context){            commit("CHANGE_USERNAME")        }    }};
    • 可以看到接受了一个参数,这个参数是它默认传的,你不能改变

    • commit 在 context 里面,但是你是直接写

    正确调用的话可以这样来写

    actions = {     login(context){            context.commit("CHANGE_USERNAME")        }    }};

    或者这样:

    actions = {     login({commit}){  //加 { }            commit("CHANGE_USERNAME")        }    }};

    vuex模块化 commit()时报错 unknown mutation type:xxx

    废话不多说直接上问题

    我写了两个组件,准备练习Vuex的模块化

    这是Count模块(计数作用)的js

    increment方法触发后,由于逻辑十分简单我就直接给到了mutations

    让他加

      methods: {    increment() {      this.$store.commit("INCREMENT", this.n);    },    decrement() {      this.$store.commit("DECREMENT", this.n);    },    incrementOdd() {      this.$store.dispatch("incrementOdd", this.n);    },    incrementWait() {      this.$store.dispatch("incrementWait", this.n);    },  },
        mutations: {        // 加        INCREMENT(state, value) {            state.sum += value;        },        // 减        DECREMENT(state, value) {            state.sum -= value;        }    },    state: {        sum: 0,        bigSum: 0,    },

    这是Person模块(添加人员作用)的js

    add方法触发后将信息封装成对象直接给到mutations,然后一个unshift新增即可 

      methods: {    add() {      const personObj = { id: nanoid(), name: this.name };      console.log(this.$store);      this.$store.commit("ADD_PERSON", personObj);      this.name = "";    },  },
        mutations: {        ADD_PERSON(state, personObj) {            state.personList.unshift(personObj);        },    },

    然后这是storejs

    import Vue from 'vue'// 引用vueximport Vuex from 'vuex';// 使用vuexVue.use(Vuex)import CountOptions from './count';import PersonOptions from './person';// 创建并暴露storeexport default new Vuex.Store({    modules:{        countAbout:CountOptions,        personAbout:PersonOptions,    }})

    就这样,run起来后,

    • 触发increment(数字+) ==> 成功

    • 触发add(加一个人) ==> unknown mutation type:ADD_PERSON

    使用vuex出现commit未定义错误如何解决

    于是我把$store捞出来,找到_mutations

    使用vuex出现commit未定义错误如何解决

    发现我的添加人员的add指向的的mutation 外面包了一层,

    完事我将这一层加上去,成功实现,

    然后我将Count的加上countAbout反而报错

    那么问题来了,为啥我两个模块的写法是一样,然后调用的模块的情况也是一样的(count.vue==>count模块,person.vue==>person模块),一个包了一个没包,于是我怀疑是引入顺序的问题,觉得第一个引入的模块不包,于是我将模块的引入,声明甚至组件的顺序都调换了顺序,然而并没有什么软用。。。

    于是我写了一个临时的test模块。分别copy Count,Person模块的js,

    然后我以为是命名的问题,因为我的两个模块的命名一个有下划线,一个没有下划线,于是:

    使用vuex出现commit未定义错误如何解决

    发现并不是

    于是我有写了两个测试模块 test demo

    发现除了count,其他都包了

    使用vuex出现commit未定义错误如何解决

    最后发现是我的count的开启命名空间namespaced的d忘了写

    到此,关于“使用vuex出现commit未定义错误如何解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    --结束END--

    本文标题: 使用vuex出现commit未定义错误如何解决

    本文链接: https://www.lsjlt.com/news/348257.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 使用vuex出现commit未定义错误如何解决
      这篇文章主要介绍“使用vuex出现commit未定义错误如何解决”,在日常操作中,相信很多人在使用vuex出现commit未定义错误如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”使用vuex出现com...
      99+
      2023-07-04
    • 在使用vuex的时候出现commit未定义错误的解决
      目录使用vuex的时候出现commit未定义错误出现的原因错误展现过程vuex模块化 commit()时报错 unknown mutation type:xxx废话不多说直接上问题总...
      99+
      2023-01-10
      vuex使用 commit未定义错误 vuex commit未定义错误
    • 为什么PHP出现“未定义函数”错误,该如何解决?
      PHP是一种服务器端脚本语言,但在编写代码时难免会出现“未定义函数”的错误。这种错误通常是因为没有正确地引入函数或者函数不存在导致的。本文将解释为什么会出现该错误并提出解决方案,同时提供一些具体的代码示例。问题原因:当在PHP代码中调用一个...
      99+
      2023-12-09
      PHP 解决方法 未定义函数
    • JSON对象未定义错误如何解决
      当出现"JSON对象未定义"错误时,通常是因为JavaScript代码中没有正确引入JSON对象或者JSON对象不可用。要解决这个问...
      99+
      2023-08-16
      JSON
    • 使用Unity3D时出现DllNotFoundException错误如何解决
      这篇文章给大家介绍使用Unity3D时出现DllNotFoundException错误如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。起因unity程序build到pc上,拿到其他人的机器上结果有些功能不正常,看...
      99+
      2023-06-14
    • 如何解决php ueditor上传图片出现未知错误的问题
      本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。如何解决php ueditor上传图片出现未知错误的问题?php部署ueditor上传图片返回未知错误(error 6)主要是因为php.ini 中的 upload_tm...
      99+
      2015-05-21
      php ueditor
    • 使用DWR出现“例外被抛出且未被接住”错误的原因和解决办法
      “例外被抛出且未被接住”错误通常是由于以下原因导致的:1. 方法中抛出了未被捕获的异常:在使用DWR时,如果方法中抛出了未被捕获的异...
      99+
      2023-08-23
      DWR
    • 在Java中使用Arrays.asList上出现UnsupportedOperationException错误如何解决
      本篇文章给大家分享的是有关在Java中使用Arrays.asList上出现UnsupportedOperationException错误如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编...
      99+
      2023-06-14
    • Ubuntu使用国内源出现Hash Sum mismatch错误如何解决
      出现Hash Sum mismatch错误可能是由于软件包在下载过程中被修改或损坏引起的。解决该问题的方法如下:1. 清除软件包缓存...
      99+
      2023-08-11
      Ubuntu
    • Python中定义函数时出现 return outside function报错如何解决
      Python中定义函数时出现 return outside function报错如何解决,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在Python中定义函数时报错&nbs...
      99+
      2023-06-04
    • oracle关键字在mybatis中使用时出现错误如何解决
      oracle关键字在mybatis中使用时出现错误如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。解决方式 可以使用resultMap**示例代...
      99+
      2023-05-31
      mybatis oracle
    • 使用国外代理服务器出现403错误如何解决
      使用国外代理服务器出现403错误解决的方法:1、输入cmd打开命令行,输入ipconfig /flushdns,同时查看是否有在网站虚拟目录中添加默认文档;2、输入命令chcon -R -t httpd_user_content_t pub...
      99+
      2022-10-08
    • 如何解决使用Linux命令行时出现的错误提示
      这篇文章主要介绍了如何解决使用Linux命令行时出现的错误提示,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。你在使用 Linux 命令行时曾经得到过“拒绝访问(Permiss...
      99+
      2023-06-16
    • 在pytorch中使用loss反向传播出现错误如何解决
      在pytorch中使用loss反向传播出现错误如何解决?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。解决办法:1. 给 loss.backward() 指定传递给后向的参数维度...
      99+
      2023-06-15
    • 使用php将时间戳转日期出现错误如何解决
      使用php将时间戳转日期出现错误如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。php时间戳转日期出错?今天用时间戳转日期,居然day出现了51号,把我弄...
      99+
      2023-06-15
    • Vue中使用v-for语句时抛出错误如何解决
      这篇文章将为大家详细讲解有关Vue中使用v-for语句时抛出错误如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Vue 中使用v-for语句抛出错误的...
      99+
      2022-10-19
    • 使用studio时出现java.lang.UnsatisfiedLinkError报错如何解决
      这篇文章将为大家详细讲解有关使用studio时出现java.lang.UnsatisfiedLinkError报错如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。studio中碰到的j...
      99+
      2023-05-31
      studio unsatisfiedlinkerror ava
    • mybatis中使用foreach出现报错如何解决
      这篇文章将为大家详细讲解有关mybatis中使用foreach出现报错如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。发现问题在mybatis的动态sql中最常见的错误就是使用,比如:...
      99+
      2023-05-31
      mybatis foreach fo
    • C++错误使用迭代器超出引用范围问题如何解决
      这篇文章主要介绍“C++错误使用迭代器超出引用范围问题如何解决”,在日常操作中,相信很多人在C++错误使用迭代器超出引用范围问题如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++错误使用迭代器超出引...
      99+
      2023-07-05
    • 在Android 中使用Caused时出现java.lang.ClassNotFoundException报错如何解决
      本篇文章为大家展示了在Android 中使用Caused时出现java.lang.ClassNotFoundException报错如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。出现问题:08...
      99+
      2023-05-31
      caused android fo
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作