即使我可以在Vue Dev Tools中看到getter,但无法从我的组件中的一个Vuex模块访问获得者。无法访问模块之外的Vuex获取器
我store.js
文件:
import Vue from 'vue';
import Vuex from 'vuex';
import subsub from './modules/subsub';
Vue.use(Vuex);
export default new Vuex.Store({
state: { },
actions: { },
mutations: { },
getters: { },
modules: {
subsub,
},
});
我modules/subsub.js
文件:
const state = {
categories: [{
name: 'one',
path: 'two',
...
}, {
name: 'twocat',
path: 'two',
...
}],
};
const actions = { };
const mutations = { };
const getters = {
filterCategories(state) {
return state.categories;
},
filtertwo(state) {
const filteri = state.categories.filter((catee) => {
return catee.name === 'twocat';
});
return filteri;
},
};
export default {
namespaced: true,
state,
actions,
mutations,
getters,
};
我的组件:
<template>
<div> {{ filterCategories }} </div>
</template>
<script>
import { mapGetters } from 'vuex';
export default {
computed: {
...mapGetters([
'categories',
'filtertwo',
'filterCategories',
]),
filtertwo() {
return this.$store.getters.filtertwo;
},
filterCategories() {
return this.$store.getters.filterCategories;
},
},
</script>
所以,我缺少的是什么?是否有任何其他语法来从模块访问getters?
你在控制台没有收到任何错误?当你实例化Vue时,你是否通过商店? – thanksd
我在控制台中没有收到任何错误。当我实例化Vue时,在商店中传递什么意思? ..顺便说一句,我尝试使用@click事件获取和即使没有工作 – Marketingexpert
无论你实例化主应用程序Vue组件(可能'main.js')。您应该导入vuex存储并将其包括在传递给'new Vue({...})' – thanksd