Vuex:store.commit和store.dispatch的区别
程序员文章站
2022-05-15 17:43:58
...
一、来源
store.commit()
- mutation注册了一个变更状态的事件后,需要调用
store.commit()
来进行状态变更 - 例如:
store.commit('aaa')
store.dispatch()
- 是dispatch是触发action的一种方法
- 例如:
store.dispatch('aaa')
二、共同点:
在更改状态、触发更改状态时都可以以载荷方式和对象方式进行分发.
store.commit()
store.commit('increment', {
amount: 10
})
store.commit({
type: 'increment',
amount: 10
})
store.dispatch()
store.dispatch('incrementAsync', {
amount: 10
})
// 以对象形式分发
store.dispatch({
type: 'incrementAsync',
amount: 10
})
三、区别
为了保证数据的状态稳定,可控,mutation“必须”是同步的,即:
- commit:同步操作
- dispatch:可以是异步操作,数据提交至 actions ,可用于向后台提交数据
推荐阅读
-
SQLSERVER全文目录全文索引的使用方法和区别讲解
-
vue的style绑定background-image的方式和其他变量数据的区别详解
-
java 抽象类和接口的区别详细解析
-
HTTP_HOST 和 SERVER_NAME 的区别详解
-
Java中关于int和Integer的区别详解
-
浅谈HTML5 defer和async的区别
-
SQLserver中字符串查找功能patindex和charindex的区别
-
call和apply的区别是什么(apply的用法和搭配)
-
东南大学苏州校区和本校的区别:地址位置在哪?和无锡校区哪个更好?
-
android中Invalidate和postInvalidate的更新view区别