-1

我正在从经典 vuex 迁移到模块化 vuex,但我需要一些帮助来了解如何在我的应用程序中调用 getter。这是我在商店里的东西:

store/user.js

export const state = () => ({
  currentUser: null,
  userProfile: {}
})
export const getters = {
  loggedIn(state) {
    return !!state.currentUser
  }
}

当我从我的应用程序调用时,loggedIn我得到. 我是这样称呼的:loggedInundefinedloggedIn

src/components/MainNav.vue

computed: {    
loggedIn() {
      return this.$store.getters.user.loggedIn
    }
}

有人发现我做错了什么吗?谢谢!

4

1 回答 1

1

你的商店有user命名空间,所以你必须调用你的loggedIngetter,如下所示:

computed: {    
  loggedIn() {
    return this.$store.getters['user/loggedIn']
  }
}

另一种方法是使用mapGetter帮助程序,如Vuex 文档中所述

于 2021-01-13T22:44:41.297 回答