mutations的方法内部访问计算属性getter

getters.js文件中定义了1个计算属性

const doneTodos = ( state ) => {
  return state.todos.filter( todo => todo.done ).length
}



mutations.js文件中,定义一个add方法

   add( state ) {
    // console.log(state.doneTodos)
   

    state.count++
  }
  

我想在mutations的add方法内部访问计算属性doneTodos,好像不行
请问怎么才能在add方法内部调用到getter?

阅读 4.9k
2 个回答
add (state) {
    console.log(this.state.doneTodos)
}

example

mutations中只有state参数

  1. 通过action函数调用mutations函数
const actions = {
  increment: ({ commit, getters }) => {
    commit('add', { doneTodos: getters.doneTodos })
  },
}
const mutations = {
  add (state, { doneTodos }) {
    console.log(doneTodos);
  },
}
  1. 在vue组件内通过
this.$store.commit('add', { doneTodos: this.$stroe.getter.doneTodos })  
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题