📜  vuex access getter in mutatuons (1)

📅  最后修改于: 2023-12-03 15:05:53.850000             🧑  作者: Mango

在 mutations 中访问 getter

在使用 Vuex 状态管理库的时候,我们通常会使用 getters 来获取 store 中的数据。但是,在一些情况下,我们的 mutations 中也需要访问 store 中的数据,这时候我们就需要在 mutations 中访问 getter。

如何访问 getter

在 Vuex 中,我们可以使用 store.getters 属性来访问 store 中的 getters。在 mutations 中,我们可以将 store 对象作为第一个参数进行传递。这样,我们就可以在 mutations 中访问 getters 了。

mutations: {
  // 通过 store.getters 来访问 getters
  someMutation (state, payload, getters) {
    console.log(getters.someGetter)
  }
}

需要注意的是,在 mutations 中访问 getters 时,要将 store 实例作为参数传递进来,而且这个参数需要作为最后一个参数传递。

为什么要在 mutations 中访问 getter

有时候,我们在 mutations 中需要根据 store 中的某些数据来决定具体的操作方式。此时,我们就需要在 mutations 中访问 store 中的数据,来做出正确的决策。这时候,使用 getter 就是最好的选择。

另外,对于一些计算属性等,我们也可以在 getters 中定义并使用。如果需要在 mutations 中访问这些计算属性,那么我们就需要在 mutations 中访问 getter。这使得我们的代码能够更加简洁、高效。

总结

在 Vuex 中,我们可以在 mutations 中访问 getters,使用 store.getters 属性可以轻松实现。在实际开发中,我们需要在 mutations 中访问 store 中的数据时,这是一个非常有用的技巧。同时,也可以将一些计算属性等放在 getters 中,这样就可以在 mutations 中按需访问。