У меня есть магазин vuex, например:
import spreeApi from '../../gateways/spree-api'
// initial state
const state = {
products: [],
categories: []
}
// mutations
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
}
Я хочу вызвать мутацию: SET_CATEGORIES
из мутации: SET_PRODUCTS
, но это дает мне ошибку:
projectFilter.js: 22 Не показано (в обещании) ReferenceError: commit не определен (...)
Каким должен быть правильный способ сделать это. Я попробовал store.commit
и this.commit
, но они также дали похожие ошибки.