vuejs2 - 如何从同一操作异步调用提交和分派?
问题描述
我想在突变完成它的工作后执行一个动作。
突变(SOME_MUTATION
)来自同一个商店,动作(test/testAction
)来自一个模块
someAction(context, data) {
context.commit('SOME_MUTATION', data) // this should be committed first
context.dispatch('test/testAction') // this action should be dispatched after the above commit
}
注意:我不知道这是否是默认行为
解决方案
你会改变你someAction(context, data)
的这个
someAction({commit, dispatch}, data) {
call.action()
.then(=> {
commit('some_mutations',data)
dispatch('another_action')
}
}
using{commit, dispatch}
将允许您使用两个内部操作而不必说context
。因为动作只接受你作为单个对象传入的 2 个参数,所以你仍然可以传入data
参数。
推荐阅读
- python - 在 Django 中打开存储在 zip 文件中的照片时出错
- latex - 如何在乳胶中对齐枚举列表?
- python - tkinter 框架未填充父画布
- java - 如何修复连接被拒绝:android studio中的连接错误?
- css - 如何使用 ::theme 伪元素?
- android - 注入改造android kotlin
- ruby - 用于映射部分搜索属性的 Ruby 和 Elasticsearch
- vba - 将字符串连接到具有交替字体格式的范围内
- c# - Test.MainForm.Dispose(bool):没有合适的方法来覆盖 (CS0115)
- python - 将字符串/字符数组加入带有分隔符的单个字符串 [不使用理解、映射等]