我可以从Vuex存储的一个mutation中调用commit吗?
我可以从Vuex存储的一个mutation中调用commit吗?
我有一个vuex存储,如下所示:
import spreeApi from '../../gateways/spree-api'
// 初始状态
const state = {
products: [],
categories: []
}
// 突变
const mutations = {
SET_PRODUCTS: (state, response) => {
state.products = response.data.products
commit('SET_CATEGORIES')
},
SET_CATEGORIES: (state) => {
state.categories = state.products.map(function(product) { return product.category})
}
}
const actions = {
FETCH_PRODUCTS: (state, filters) => {
return spreeApi.get('products').then(response => state.commit('SET_PRODUCTS', response))
}
}
export default {
state,
mutations,
actions
}
我想从mutation: SET_PRODUCTS调用mutation: SET_CATEGORIES,但是这给了我一个错误:
projectFilter.js:22 Uncaught (in promise) ReferenceError: commit is not defined(…)
应该如何正确实现这样的调用?我尝试了store.commit和this.commit,但这些也会产生类似的错误。