【发布时间】:2019-04-24 21:57:21
【问题描述】:
如何在没有模块文件名称的情况下调用突变?
存储/index.js
export const state = () => ({
counter: 0
})
商店/todos.js
export const state = () => ({
list: []
})
export const mutations = {
add (state, text) {
state.list.push({
text: text,
done: false
})
},
remove (state, { todo }) {
state.list.splice(state.list.indexOf(todo), 1)
},
toggle (state, todo) {
todo.done = !todo.done
}
}
在组件中我可以这样称呼突变:
this.$store.commit('todos/add', e.target.value)
但我不想写命名空间。我想使用类似这样的命令:
this.$store.commit('add', e.target.value)
【问题讨论】:
-
“但我不想写命名空间”...为什么?
-
@Andrew1325 想象一下,在组件中使用类似“todoModule/add”这样的命名空间几天后,你想将你的 todoModule 移动到新文件夹或者你想更改它的名称。你必须更改任何那么你的组件在哪里!