即使我可以在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