使用常量替代mutation事件类型vuex

43次阅读

共计 497 个字符,预计需要花费 2 分钟才能阅读完成。

在多人协作的大型项目中,将这些用于替代 mutation 事件类型的常量,放在单独的文件中,可以让合作者对整个应用的 mutation 一目了然。
mutation-types.js

export const SOME_MUTATION = 'SOME_MUTATION'

store.js

import Vuex from 'vuex'
import {SOME_MUTATION} from './mutation-types'

const store = new Vuex.Store({state: { ...},
  mutations: {[SOME_MUTATION] (state) {// mutate state}
  }
})

注:ES6 允许字面量定义对象时,用表达式作为对象的属性名和方法名,即把表达式放在方括号内。

在组件方法内提交 mutation 时,也要先导入常量:

import {SOME_MUTATION} from './mutation-types'

export default {
  methods: {this.$store.commit(SOME_MUTATION)
  }
}

但有个问题,在每个要提交 mutation 的组件中都要导入常量,会不会有点麻烦?

正文完
 0