Я пробую Quasar в первый раз и пытаюсь использовать Vuex с модулями, но не могу получить доступ к свойству $ store ни с помощью ... mapState. Я получаю следующее сообщение об ошибке «Невозможно прочитать свойство« журнал »неопределенного», хотя я вижу, что журнал обещаний существует в Vue Devtools. Печать из Devtools
Вот мой магазин \ index.js
import Vue from 'vue';
import Vuex from 'vuex';
import logbook from './logbook';
Vue.use(Vuex);
export default function (/* { ssrContext } */) {
const Store = new Vuex.Store({
modules: {
logbook,
},
strict: process.env.DEV,
});
return Store;
}
Здесь находится компонент
<template>
<div>
<div>
<h3>RFID</h3>
<q-btn @click="logData"
label="Save"
class="q-mt-md"
color="teal"
></q-btn>
<q-table
title="Logbook"
:data="data"
:columns="columns"
row-key="uid"
/>
</div>
</div>
</template>
<script>
import { mapState, mapGetters, mapActions } from 'vuex';
export default {
name: 'RFID',
mounted() {
this.getLogbookData();
},
methods: {
...mapActions('logbook', ['getLogbookData']),
...mapGetters('logbook', ['loadedLogbook']),
...mapState('logbook', ['logbookData']),
logData: () => {
console.log(this.loadedLogbook);
},
},
data() {
return {
};
},
};
</script>
<style scoped>
</style>
Здесь указано состояние. js
export default {
logbookData: [],
};
Ошибка, которую я получаю на консоли
Обновление: Решил проблему путем рефакторинга способа, которым я объявил функцию. Я изменил с:
logData: () => { console.log(this.loadedLogbook); }
на
logData () { console.log(this.loadedLogbook); }