programing

VueJS/Vuex에서 이름 지정 getter를 호출할 수 없는 이유는 무엇입니까?

copysource 2022. 8. 17. 21:32
반응형

VueJS/Vuex에서 이름 지정 getter를 호출할 수 없는 이유는 무엇입니까?

나 이제...unknown getter: player/shuffle콘솔에서는 확인할 수 있지만 원인을 찾을 수 없습니다.

  • getter와 상태가 기능하지 않는지 확인했습니다.
  • 에서 이름을 변경했습니다.'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>

내 스토어/모듈/Player.js 파일:

const state = {
  playState: 0, // 0: Stop, 1: Play, 2: Pause
  shuffle: false,
  repeatMode: 0, // 0: No repeat, 1: Repeat All, 2: Repeat this
  cTrackDuration: -1,
  cTrackPos: -1
}

const mutations = {
  STOP (state) {
    state.playState = 0
    state.cTrackPos = -1
  },
  PLAY (state) {
    state.playState = 0
    state.cTrackPos = -1
  },
  SHUFFLE (state) {
    state.shuffle = !state.shuffle
  }
}
const getters = {
  shuffle: state => {
    return state.shuffle
  }
}
const actions = {
  stop ({ commit }) {
    commit('STOP')
  },
  play ({ commit }) {
    commit('PLAY')
  },
  toggleShuffle ({ commit }) {
    commit('SHUFFLE')
  }
}

export default {
  namespaced: true,
  state,
  getters,
  mutations,
  actions
}

당신의 구문이 틀린 것 같아요.모듈명을 첫 번째 파라미터로 넘겨볼 수 있습니다.mapActions그리고.mapGetters

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

언급URL : https://stackoverflow.com/questions/51912905/why-cant-i-call-a-namespaced-getter-in-vuejs-vuex

반응형