当前位置: 首页 > 工具软件 > store.js > 使用案例 >

vuex中store.commit和store.dispatch的用法及区别

糜淇
2023-12-01

代码示例:

this.$store.commit('aMutation', payload);

this.$store.dispatch('aAction', payload);

参数说明:

- aMutation : 一个mutation方法名

- payload : 有效载荷 , 传递数据 , payload是一个对象结构

- aAction : 一个action方法名

- true : 允许在命名空间模块里分发 根root的 action

两者都可以使用的提交方式:

​
// 以payload有效载荷形式
store.commit('aMutation',{
  value: 10   //这是额外的数据
})

// 或者对象方式
store.commit({
  type: 'aMutation',
  value: 10   //这是额外的数据
})

​

主要区别:

- dispatch:提交到 actions,action方法里可以提交mutation方法,可以包含异步操作,如向后台发送网络请求登录

commit:提交到 mutations,mutation方法只能是同步操作,可用于登录成功后读取用户信息保存到cookie

 类似资料: