Я прочитал его документацию по vue , но ничего не нашел о том, как на самом деле получить доступ к определенному модулю в магазине, когда у вас есть несколько модулей.
Вот мой магазин:
export default new Vuex.Store({
modules: {
listingModule: listingModule,
openListingsOnDashModule: listingsOnDashModule,
closedListingsOnDashModule: listingsOnDashModule
}
})
Каждый модуль имеет свое состояние, мутации и геттеры.
состояние может быть успешно доступно через
this.$store.state.listingModule // <-- access listingModule
То же самое не верно для доступа к мутациям, когда я делаю это
this.$store.listingModule.commit('REPLACE_LISTINGS', res)
или
this.$store.mutations.listingModule.commit('REPLACE_LISTINGS', res)
Я получаю либо this. $ Store.listingModule, либо this. $ Store.mutations undefined error.
Знаете ли вы, как следует обращаться к получателям и мутациям модуля?
EDIT
Как показал Джейкоб, к мутациям можно обратиться по его уникальному идентификатору. Да будет так, и я переименовал мутацию и теперь имею доступ.
вот моя мутация:
mutations: {
REPLACE_OPEN_DASH_LISTINGS(state, payload){
state.listings = payload
},
}
Вот мое состояние
state: {
listings:[{
id: 0,
location: {},
...
}]
}
Поскольку я делаю коммит с полезной нагрузкой массива, состояние сохраняет только ОДИН элемент.
Если передать массив полезных данных, равный 4, он вернет мне обратно массив 1.
.
Чего мне не хватает?
Спасибо!