mapGetters из не файла магазина index.js - PullRequest
0 голосов
/ 25 февраля 2019

Я хочу сопоставить получатели из файла 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
  }
}

1 Ответ

0 голосов
/ 25 февраля 2019

Я не знаком с nuxt, так что это всего лишь мысль.

Я не вижу ничего плохого в вашей настройке.Беглый взгляд на https://nuxtjs.org/guide/vuex-store подразумевает, что, возможно, требуется файл store/index.js, который вы не упомянули.

Если это не сработает, я предлагаю добавить это в ваш компонент, чтобы помочь отладке:

created() {
  console.log(this.$store); // <-- this is the vuex store accessed by the component
}
...