Классическая задача - каталог продуктов и корзина товаров.
Нужно из каталога передать элемент в корзину.
Как получить доступ к state из модуля корзины в модуле каталога продуктов?
Использую вариант по умолчанию - с глобальным пространством имен.
Пробовал через state и через rootState - пока не срабатывает.
// ../store/module/products.js
export default {
state: {
items: [
{title: 'Product 1', id: 1},
{title: 'Product 2', id: 2},
{title: 'Product 3', id: 3},
{title: 'Product 4', id: 4},
]
},
mutations: {
addProductToCart(state, id, rootState) {
rootState.cart.cartItems.push({title:'NEW ITEM', id:5})
}
},
};
// ../store/module/cart.js
export default {
state: {
cartItems: [
{title: 'Product 1', id: 1},
{title: 'Product 2', id: 2},
]
}
};
// ../store/index.js
import Vue from 'vue';
import Vuex from 'vuex';
import products from './modules/products';
import cart from './modules/cart';
Vue.use(Vuex);
export default new Vuex.Store({
modules:{
products,
cart
}
});