老师,您好,大概过了下vuex的源码。有个地方不是很理解,为什么vuex内部存放mutations、actions 都要以数组的形式存放呢。每个模块中存在的 mutations 下的操作应该是唯一的才对啊,即使是不同模块下的同名的mutation 它们type值也不一样,真的想不明请老师为我解惑。
源码:
function registerMutation (store, type, handler, local) {
const entry = store._mutations[type] || (store._mutations[type] = [])
entry.push(function wrappedMutationHandler (payload) {
handler.call(store, local.state, payload)
})
}
为什么不直接这样写:
function registerMutation (store, type, handler, local) {
store._mutations[type] = function (payload) {
handler.call(store, local.state, payload)
}
}
展开