奇怪的Vuex Bug:" Undefined",(当它显示在控制台中时)?

时间:2017-05-25 18:42:35

标签: vuejs2 vuex

我试图引用vuex状态对象中的变量。控制台日志显示变量&整个对象的价值。但是当我尝试引用对象中的特定变量时,它显示为" undefined" ???

这是控制台输出中的对象: enter image description here

我尝试在Vuex操作中从该对象引用state.columnPercentChecked,如下所示:

AspectTypeDependencyAttribute

控制台日志显示对它的引用为" undefined" ???我在哪里错了?

这里是完整上下文中的store.js文件:

  checkAndSetColumnPercent (state) {
    console.log('CHECK & SET COLUMN PERCENT ')
    console.log(state.columnPercentChecked)
    console.log(state)
    if (state.columnPercentChecked === true) {
      console.log('checkAndSetColumnPercent TRUE HIT ')
      var colPercent = state.getters('getColumnPercent')
      console.log('checkAndSetColumnPercent : colpercent ' + colPercent)
      state.commit('CHANGE_INITIAL_PERCENT', colPercent)
    }

1 个答案:

答案 0 :(得分:1)

我相信你想以这种方式定义你的行动:

checkAndSetColumnPercent ({state, commit, getters}) {
    console.log('CHECK & SET COLUMN PERCENT ')
    console.log(state.columnPercentChecked)
    console.log(state)
    if (state.columnPercentChecked === true) {
      console.log('checkAndSetColumnPercent TRUE HIT ')
      var colPercent = getters.getColumnPercent
      console.log('checkAndSetColumnPercent : colpercent ' + colPercent)
      commit('CHANGE_INITIAL_PERCENT', colPercent)
    }
}

请注意解构的({state})

您可以在documentation中看到行为传递了包含context的{​​{1}}。

修改

看起来你正在使用来自state的更多内容,所以我将它们添加到解构中。