vuex 多module下,子组件获取子模块state失败

我的项目目录如下:

clipboard.png

apple.js

const state = {
  appleNumer: 0
}
const getters = {
  getAppleNumer: state => state.appleNumer
}
const actions = {
  fetchAppleNumberByIncrement ({commit, state}) {
    //  调用后台接口
    commit('incrementApple')
    console.log('+' + state.appleNumer)
  },
  fetchAppleNumberByDecrement ({commit, state}) {
    //  调用后台接口
    commit('decrementApple')
    console.log('-' + state.appleNumer)
  }
}
const mutations = {
  // 只允许mutations对state进行更改
  incrementApple: state => state.appleNumer++,
  decrementApple: state => state.appleNumer--
}

export default {
  state,
  getters,
  actions,
  mutations
}

index.js

import Vue from 'vue'
import Vuex from 'vuex'
import apple from './modules/apple'

Vue.use(Vuex)

export default new Vuex.Store({
modules: {

// 包含mutation action state一套模型
a: apple

}
})

**Apple.vue**
 <template>
  <div class="">
    <h1>{{ msg }}</h1>
    <h2>appleNumer:{{appleNumer}}</h2>
    <button @click='addOne'>add one</button>
    <button @click='minusOne'>minus one</button>
  </div>
</template>

<script type="text/ecmascript-6">
  export default {
    data () {
      return {
        msg: 'i am apple component'
      }
    },
    methods: {
      addOne () {
        this.$store.dispatch('fetchAppleNumberByIncrement')
      },
      minusOne () {
        this.$store.dispatch('fetchAppleNumberByDecrement')
      }
    },
    computed: {
      appleNumber () {
        console.log('-----------')
        return this.$store.getters.getAppleNumer
      }
    }
  }    
</script>        
    <style lang="stylus" rel="stylesheet/stylus" scoped>        
</style>

在Apple.vue中我通过计算属性appleNumber获取apple.js中的appleNumer,没有获取到,不知道是哪里的问题?

clipboard.png

阅读 7.8k
4 个回答

this.$store.state.getAppleNumer 能取到吗?

估计是你哪一步出错误了,你用下mapGetters来将getters映射到局部的计算属性上看看

我也是,控制台输出$store发现有一个default包裹着,结果用this.$store.default.state.somemodule.obj才取出来了。不知道啥问题,咱也不敢问

计算属性写错误了,所以获取不到值。修改为:

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题