moutation-types 文件内容如下
/*
包含n个mutation名称常量
*/
export const ADD_TODO = 'add_todo' // 添加todo
export const DELETE_TODO = 'delete_todo' // 删除todo
export const SELECT_ALL_TODOS = 'select_all_todos' // 全选/全不选todos
export const DELETE_COMPLETE_TODOS = 'delete_complete_todos' // 删除所有选中的
在 js 中引用其他变量时,经常会有以下错误用法,使得 方法名ADD_TODO 值无法获取到 ’add_todo’
import {ADD_TODO,DELETE_TODO} from './mutation-types'
export default{
ADD_TODO (state,{todo}){ //直接引用了方法名
state.todos.unshift(todo)
},
DELETE_TODO (state,{index}){
state.todos.splice(index,1)
}
}
在方法名应用变量时,需要用[ ]包裹变量名,才能获取到对应的变量值
import {ADD_TODO,DELETE_TODO} from './mutation-types'
export default{
[ADD_TODO] (state,{todo}){ //直接引用了方法名
state.todos.unshift(todo)
},
[DELETE_TODO] (state,{index}){
state.todos.splice(index,1)
}
}