Я впервые использую магазины Vuex в «структуре объема возможностей», и у меня возникают трудности с отслеживанием, почему я получаю [vuex] unknown getter: $_kp/kp
- (Vue / Vuex с этим не тратит много силкроме только указанной ошибки).
ОБНОВЛЕНИЕ : Я включил store.subscribeAction()
, чтобы посмотреть, не дает ли это больше информации.Вот распечатанный журнал (я не вижу в этом ничего полезного, но, надеюсь, он вам поможет).
Тип действия: $ _kp / getKpIndex
Полезная нагрузка действия: не определено
Текущее состояние: { ob : Наблюдатель} $ _kp: Объект kp: "2" // <- Это то, что я пытаюсь получить - "2"! </p>
ОБНОВЛЕНИЕ-2: Я также использую Vues Inspector, и он показывает следующее:
| State
| - $_kp: object
| - kp: "3"
| Mutation
| - payload: "3"
| - type: "$_kp/KP_DATA_UPDATED"
Любая помощь с этим очень ценится, и я надеюсь, что это может бытьполезно для тех, кто устанавливает свои магазины таким образом.
SomeElement.vue:
<script>
import {mapGetters} from 'vuex';
import store from '../_store';
export default {
name : 'KpIndexElement',
parent: 'AVWX',
computed: {
...mapGetters({
kp: '$_kp/kp', //<-- HERE?
}),
},
created() {
const STORE_KEY = '$_kp';
if (!(STORE_KEY in this.$store._modules.root._children)) {//<= I think there is an issue with this too
this.$store.registerModule(STORE_KEY, store);
}
},
mounted() {
this.$store.dispatch('$_kp/getKpIndex');
},
}
</script>
<template>
<p><strong>Kp: </strong>{{ kp }}</p>
</template>
The Store index.js
import actions from './actions';
import getters from './getters';
import mutations from './mutations';
var state = {
kp: '',
};
export default {
namespaced: true,
state,
actions,
getters,
mutations,
};
actions.js:
import api from '../_api/server';
const getKpIndex = (context) => {
api.fetchKpData
.then((response) => {
console.log('fetch response: ' + response)
context.commit('KP_DATA_UPDATED', response);
})
.catch((error) => {
console.error(error);
})
}
export default {
getKpIndex,
}
mutations.js
const KP_DATA_UPDATED = (state, kp) => {
state.kp = kp;
}
export default {
KP_DATA_UPDATED,
}
... и, наконец,getters.js
const kp = state => state.kp;
export {
kp,
};