使用Vuex 報錯 unknown action type:XXX
阿新 • • 發佈:2022-04-15
在元件裡面呼叫 actions 下面的方法,一直報錯,未知的操作型別,可以自己在store 裡面明明定義了嘛。費解。。。。
//this.$store.commit()觸發--->mutaions //this.$store.dispatch()觸發--->actions
我原來是這樣寫的 this.$store.commit(‘changeNum’) 一直報錯
然後 import { mapActions } from “vuex”;
引入 mapActions
methods: { changeNum(type) { if (type == "+") { this.add(); } else { this.sub(); } }, ...mapActions({ add: "changeNumAsync", sub: "subtract" }) },
這樣寫 還是報錯
正確的
1.把名稱空間 程式碼註釋掉
2.this.$store.commit(‘app/changeNum’) 或者使用mapActions
...mapActions({ add: "app/changeNumAsync", sub: "app/subtract" })
以上方法 二選一即可,如果專案資料多,不建議 註釋掉名稱空間,不然方法名字重複了會很亂哦,如果有名稱空間,只要檔名字不一樣,方法名字一樣也沒事的
總之 還是因為 讀取不到 actions 裡面的方法,也就是 報錯中提到的 type 導致的報錯,路徑對了 當然就解決啦
————————————————
版權宣告:本文為CSDN博主「若~~~」的原創文章
原文連結:https://blog.csdn.net/weixin_44369568/article/details/101625709