鍍金池/ 問答/HTML/ VUE里面:[CHANGE_MSG](state, msg)這個(gè)是什么語法?

VUE里面:[CHANGE_MSG](state, msg)這個(gè)是什么語法?

部分代碼如下:

import Vue from 'vue'
import Vuex from 'vuex'
import { CHANGE_MSG, INCREMENT_COUNTER } from './mutation_types'

Vue.use(Vuex)

const state = {
  message: 'Hello Vue!',
  counter: 0
}

const mutations = {
  [CHANGE_MSG](state, msg) {
    state.message = msg
  },
  [INCREMENT_COUNTER](state) {
    state.counter ++;
  }
}
回答
編輯回答
薔薇花

vuex中的mutation的寫法,用于修改state中的數(shù)據(jù)
等同于:

const mutations = {
  CHANGE_MSG (state, msg) {
    state.message = msg
  },
  INCREMENT_COUNTER (state) {
    state.counter ++;
  }
}

具體可以查看 https://vuex.vuejs.org/zh-cn/...

2017年2月3日 09:03
編輯回答
莓森
2017年8月22日 22:52
編輯回答
憶當(dāng)年

每個(gè)mutation都有一個(gè)字符串的事件類型和一個(gè)回調(diào)函數(shù),事件類型就是你的CHANG_MSG,后面的是回調(diào)函數(shù),一般可以把事件類型作為常量存在mutation_types.js這個(gè)文件里面,方便統(tǒng)一管理,在你的store.js引入之后就可以

CHANGE_MSG (state, msg) {
    state.message = msg
  }

這樣commit你的mutation
在組件里使用的話首先import你的mutation_types.js

import * as types from '../store/mutation_types'

如果需要提交mutation,那么在方法里面

this.$store.commit(types.CHANGE_MSG)
2018年2月9日 05:34