【发布时间】:2021-11-13 13:55:05
【问题描述】:
我试图改变 vuex 中的状态,但它总是显示vuex.esm-browser.js?5502:976 [vuex] unknown mutation type: addToCart。我以如下两种不同的方式在突变中调用了 addToCart,但它不起作用。它总是抛出同样的错误。
<button @click="addToCart(product)" class="add">Add</button>
import {mapMutations} from 'vuex'
export default{
methods:{
...mapMutations(["addToCart"]),
},
props: ["product"],
}
</script>
Vuex store
import { createStore } from "vuex";
export default createStore({
state:{
cart: []
},
mutation:{
addToCart(state, product){
let item = state.cart.find(i=>i.id === product.id)
if(item){
item.quantity++
}else{
state.cart.push({...product, quantity: 1})
}
}
}
})
I even tried this also
<button @click="addToCart()" class="add">Add</button>
<script>
props: ["product"],
methods:{
addToCart(){
this.$store.commit('addToCart', this.product)
}
}
</script>
【问题讨论】:
-
这是“突变”而不是“突变”
标签: javascript node.js vue.js vuex mutation