我用getter获取state的数据是undefined是怎么回事?
这是我的代码结构
index.js
import Vue from 'vue'
import Vuex from 'vuex'
import mutations from './mutations'
import actions from './actions'
import getters from './getters'
Vue.use(Vuex)
const state = {
totalTime: 0,
list:[]
}
export default new Vuex.Store({
state,
mutations,
getters,
actions
})
getters.js
export const totalTime = ({state}) => state.totalTime
在组件里获取通过this.$store.getters获取是的undefined
通过this.$store.state就能获取到
还有如果用...mapGetters会报unknown getter: totalTime
求大神看下!!
Sidebar.vue
<template>
<h1 class="text-center">{{totalTime}} 小时</h1>
</template>
<script>
import { mapGetters } from 'vuex';
export default {
name: 'Sidebar',
computed: {
/**
...mapGetters({
totalTime: 'totalTime'
})**/
time() {
alert(this.$store.getters.totalTime)//undefined
alert(this.$store.state.totalTime)//0
return this.$store.getters.totalTime
}
}
}
</script>
用mapGetters这个方法就好了,看文档