Vue.js 为什么可以';我不能在VueJS/Vuex中调用带名称空间的getter吗?

Vue.js 为什么可以';我不能在VueJS/Vuex中调用带名称空间的getter吗?,vue.js,vuex,Vue.js,Vuex,我在控制台中得到了未知的getter:player/shuffle,但经过一些研究后,我找不到原因 我确保我的getter和states不是函数 我从'player/toggleShuffle'重命名为'toggleShuffle':'player/toggleShuffle',以确保正确调用它 我觉得问题可能在商店里,但我需要一些帮助 我的vue文件: <template> <section> <sui-grid> <sui

我在控制台中得到了未知的getter:player/shuffle,但经过一些研究后,我找不到原因

  • 我确保我的getter和states不是函数
  • 我从
    'player/toggleShuffle'
    重命名为
    'toggleShuffle':'player/toggleShuffle'
    ,以确保正确调用它
我觉得问题可能在商店里,但我需要一些帮助

我的vue文件:

<template>
  <section>
    <sui-grid>
      <sui-grid-row>
        <sui-grid-column :width="3">
          <sui-button-group icons>
            <sui-button icon="fastBackward"/>
            <sui-button icon="play"/>
            <sui-button icon="fast-forward"/>
          </sui-button-group>
        </sui-grid-column>
        <sui-grid-column :width="10">
          ds
        </sui-grid-column>
        <sui-grid-column :width="3">
          <sui-button compact icon="shuffle" :toggle="shuffle" @click="toggleShuffle" />
          Debug: {{ shuffle }}
        </sui-grid-column>
      </sui-grid-row>
    </sui-grid>
  </section>
</template>

<script>
import { mapActions, mapGetters } from 'vuex'
export default {
  data () {
    return {
    }
  },
  methods: {
    ...mapActions({
      'toggleShuffle': 'player/toggleShuffle'
    })
  },
  computed: {
    ...mapGetters({
      'shuffle': 'player/shuffle'
    })
  }

}
</script>

我认为你的语法不正确。您可以尝试将模块名称作为第一个参数传递给
mapActions
mapGetters

methods: {
  ...mapActions('player', ['toggleShuffle'])
},
computed: {
  ...mapGetters('player', ['shuffle'])
}
methods: {
  ...mapActions('player', ['toggleShuffle'])
},
computed: {
  ...mapGetters('player', ['shuffle'])
}