[vuex] unknown mutation type: XXX/XXX 报错解决方法
unknown getter: XXX/XXX 報錯解決方法
今天,用vuex中的Module來分割多個模塊的時候,碰到了一個bug,今天,跟大家分享一下,先看一下報錯內容吧
我的代碼結構是這樣的
index是主文件,liuxu和test是分割出來的,然后index.js里面引入這兩個js
當我調用這兩個模塊中的mutations的時候,出現上面的報錯,我的代碼是這樣寫的
因為分模塊了,所以我要調用liuxu或者test下面的mutations,然后就報錯了,但是,如過我這樣寫就沒問題this.$store.commit(‘changeHeight’),但是如果我這樣寫,分模塊的意義何在,研究了半天,突然看到官方文檔,文檔說
默認情況下,模塊內部的 action、mutation 和 getter 是注冊在全局命名空間的——這樣使得多個模塊能夠對同一 mutation 或 action 作出響應。
這時候我明白了,this.$store.commit(‘changeHeight’)是注冊在全局命名空間的,如果用this.$store.commit(‘liuxu/changeHeight’) 肯定報錯,怎么解決呢,官方說了,你可以通過添加 namespaced: true 的方式使其成為帶命名空間的模塊,于是,我這樣寫了
加上namespaced: true的話,當模塊被注冊后,它的所有 getter、action 及 mutation 我們就可以通過以下方式來寫了,例如
報錯就解決了
總結
以上是生活随笔為你收集整理的[vuex] unknown mutation type: XXX/XXX 报错解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 配置错误 访问被拒绝 解决方案
- 下一篇: Android开发 软键盘的右下角变为搜