无法在getter中获取rootState

时间:2017-02-11 00:50:58

标签: javascript vue.js vuex

为什么Vuex模块中的这个简单的getter无法执行API reference所说的内容?

const getters = {
  myGetRootState: (state, rootState) => {
    return rootState
  }
}

以上Getter返回当前模块状态,而不是存储状态。

这个

const getters = {
  myGetRootState: rootState => {
    return console.log(rootState.anyModuleYouWant)
  }
}

日志未定义。我尝试了许多上下文和返回值的排列,但没有用。

知道为什么会这样,以及如何让它去做预期的事情?

1 个答案:

答案 0 :(得分:0)

模块getter有3个参数(Local state,getters,root state)。

 const getters = {

   myGetRootState (state, getters, rootState){
    console.log("rootState.exampleVar = "+ rootState.exampleVar)
    return rootState.exampleVar
   }
}

在Vue实例组件中使用:

computed: {
   myGetRootState: function(){
            return this.$store.getters.myGetRootState
        }
}

您不需要在Vue实例中指定模块。