Я создаю собственное мобильное приложение на vue-native, но у меня проблема. Я хочу получить состояние чего-то в моем магазине, но он не может найти магазин. Это мой код:
import {mapGetters, mapActions} from 'vuex'
import Store from '../../store/Index'
computed: {
...mapGetters('dashboard', ['recent'])
},
Мой Index.js в папке моей панели инструментов:
import actions from './Actions'
import getters from './Getters'
import mutations from './Mutations'
export default function () {
return {
namespaced: true,
state: {
recent: {
data: [],
},
visited: {
data: [],
pagination: null
},
own: {
data: [],
pagination: null
}
},
actions,
getters,
mutations
}
}
И мой Index.js в папке с моими модулями:
import Vue from "vue-native-core";
import Vuex from "vuex";
import user from './modules/user/Index'
import dashboard from './modules/dashboard/Index'
import communities from'./modules/communities/Index'
import settings from './modules/settings/Index'
import search from './modules/search/Index'
Vue.use(Vuex);
const store = new Vuex.Store({
modules: {
user: user(),
dashboard: dashboard(),
communities: communities(),
settings: settings(),
search: search(),
},
});
export default store;
Я продолжаю получать эту ошибку;
TypeError: undefined is not an object (evaluating 'store._modulesNamespaceMap')
Есть у кого-нибудь идеи? Я думаю, что я неправильно ссылаюсь на «недавнее» в своих вычислениях.
TypeError: undefined не является объектом (оценка this. $ Store.getters)
Спасибо, я думаю, вы забыли внедрить свой магазин в экземпляр Vue. Не могли бы вы отредактировать вопрос с файлом, в котором вы создаете исходный экземпляр Vue? Это должен быть new Vue(...)
, связанный с элементом DOM. Я дам вам ответ, когда это будет сделано.
Не могли бы вы попробовать другой синтаксис
mapGetters
:...mapGetters({ recent: 'dashboard/recent', })