我遇到了 Vuex getters 问题,其中 gitters 返回未定义(在 Vue 开发控制台中,Chrome 开发控制台中没有记录错误)。
如果mapGetters()
被注释掉(如下面的示例代码),则返回的数据显示在屏幕上 -> 如果用户单击包含数据的链接,则提供。如果用户直接在应显示数据的位置进入应用程序,则不会显示数据。
有一个类似的问题,但没有接受的答案
Vue 控制台日志:
状态:
$_lgdHRS:对象
总小时数:129
吸气剂:
$_lgdHRS/totHrs:未定义
SomeContainer.vue
<script>
import store from '../../_store'
import { mapState, mapGetters } from 'vuex'
export default {
computed: {
...mapState('$_lgdHRS',{
totHrs : 'totHrs',
}),
// ...mapGetters('$_lgdHRS',{
// totHrs : 'totHrs',
// airHrs : 'airHrs',
// picHrs : 'picHrs',
// pmcHrs : 'pmcHrs',
// voHrs : 'voHrs',
// trngHrs : 'trngHrs'
// }),
},
created() {
this.storeKey = '$_lgdHRS';
if (!(this.storeKey in this.$store._modules.root._children)) {
this.$store.registerModule(this.storeKey, store);
}
},
mounted() {
this.$store.dispatch('$_lgdHRS/getLogSummary');
},
}
</script>
<template>
<total-summary :hours="totHrs" />
</template>
state.js
export const state = {
totHrs: Number,
}
getters.js
const totHrs = state => state.totHrs;
export default {
totHrs,
};
突变.js
const
TOTAL_HRS_UPDATED = (state, totHrs) => {
state.totHrs = +totHrs;
};
export default {
TOTAL_HRS_UPDATED,
};