Приложеине на Vue
Хочу разделить логику vuex на файлы, то есть модули
Я как-то неправильно видимо сделал, получаю ошибку
"TypeError: Cannot read property 'state' of undefined"
Как правильно использовать vuex модули?
Вот что я сделал:
В директории store есть index.js. Он выглядит так:
import Vuex from "vuex";
import Vue from "vue";
import snippets from "./modules/snippets";
Vue.use(Vuex);
export default new Vuex.Store({
modules: {
snippets: snippets
}
});
В директории store создал директорию modules, и в этой директории создал файл snippets.js, где будет хранится логика обработки для одного компонента Vue
Файл snippets.js выглядит так:
const snippets = {
namespaced: true,
state: {
filteredSnippets: ["apple", "banana"]
},
mutations: {
SET_FILTERED_SNIPPETS: (state, snippets) => {
state.filteredSnippets = snippets;
}
},
actions: {
FILTER_SNIPPETS({ commit }, snippets) {
commit("SET_FILTERED_SNIPPETS", snippets);
}
}
};
export default snippets;
получаю состояние массива во vuex вот так в компоненте vue:
computed: { ,
...mapState("snippets", ["filteredSnippets"])
},
mounted() {
console.log(this.filteredSnippets);
},
Структура проекта: