安装Vuex,创建目录
mutation-type
定义mutation 函数名字常量
mutation
更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutation 非常类似于事件:每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受作为第一个参数,如果有数据,一定是包含数据的
state
对象
- 引入
mutation_type
export default {
[RECEIVE_ADDRESS] (state, {address}) {
state.address = address
}
}
- 一条重要的原则就是要记住 mutation 必须是同步函数。
action
- 引入
和mutation-type
mutation
// 异步函数
async getAddress ({commit, state}) {
// 发送异步ajax请求
const data = state.data
cosnt res = await reqAddress(data)
//提交一个mutation
if(res.code === 0){
const address = res.data.address
commit(RECEIVE_ADDRESS, {address}) // mutation-type mutation
}
}