例如,我想映射store/app.js
文件中的吸气剂。我在此文件中有一个sidebar()
吸气剂。在我的组件文件中,我调用:
export default {
// ...
computed: {
...mapGetters({
sidebar: 'app/sidebar'
}),
// ...
isCollapse() {
return !this.sidebar.opened
}
}
}
但看起来不起作用,我收到了TypeError: Cannot read property 'opened' of undefined
store/app.js
:
// ...
export const state = () => ({
sidebar: {
opened: true
}
})
export const mutations = {
// ...
}
export const actions = {
// ...
}
export const getters = {
sidebar(state) {
return state.sidebar
}
}
答案 0 :(得分:1)
我对nuxt不熟悉,所以这只是一个想法。
我没有发现您的设置有任何问题。粗略浏览https://nuxtjs.org/guide/vuex-store意味着可能需要一个store/index.js
文件,而您没有提到。
如果这不起作用,建议将其添加到您的组件中以帮助调试:
created() {
console.log(this.$store); // <-- this is the vuex store accessed by the component
}