У меня проблема с получением хранилища vuex в компоненте vuejs. Моя архитектура довольно прямолинейна. Имею магазин с двумя модулями.
main.js
new Vue({
el: '#app',
store,
router,
template: '<App/>',
components: {
App
},
Events.vue - здесь я использую свой пользовательский компонент UserDropdown в компоненте syncfusion, но я не думаю, что это актуально. Первый регистрирует UserDropdown, второй фрагмент будет вызываться, когда вы щелкнете по ячейке, и вернет мой пользовательский компонент:
...
components: {
UserDropdown
},
...
editTemplate: function () {
return {template: UserDropdown}
},
...
UserDropdown.vue - здесь я хотел бы использовать магазин, но результат: «this. $ Store is undefined». Доступ к магазину из других компонентов, таких как Events.vue, работает нормально.
computed: {
users: function () {
return this.$store.state.usersState.users;
}
store.js
import Vue from 'vue';
import Vuex from 'vuex';
import projectsState from './modules/projectsStore'
import usersState from './modules/usersStore'
import createLogger from 'vuex/dist/logger'
Vue.use(Vuex);
const debug = process.env.NODE_ENV !== 'production';
export const store = new Vuex.Store({
modules: {
projectsState,
usersState
},
strict: debug,
plugins: debug ? [createLogger()] : []
});
Почему это не работает? Связана ли проблема с "шаблоном: UserDropdown"? Я думал, что каждый компонент должен иметь доступ к магазину ...
store
вUserDropdown
компонент? - person cccn   schedule 18.11.2019store
в main.js. Вы звонилиVue.use(Vuex)
? - person Frnak   schedule 18.11.2019