我正在Vue应用程序中考虑以下两种选择。试图确定是从另一个动作中调用一个动作,还是太杂乱。
替代之一:
store.js
const actions = {
funcOne (context) {
//Do something
context.dispatch(funcTwo)
}
funcTwo () {
//Do something else
}
}
component.vue
methods: {
doSomething () {
this.$store.dispatch(funcOne)
}
}
或替代方法二:
store.js
const actions = {
funcOne () {
//Do something
}
funcTwo () {
//Do something else
}
}
component.vue
methods: {
doSomething () {
this.$store.dispatch(funcOne)
this.$store.dispatch(funcTwo)
}
}
这里是否有最佳实践,还是我选择其中的哪一个都没关系?
答案 0 :(得分:4)
这不是一个坏习惯!它们被设计为易于组成,documentation甚至具有示例。
如果动作紧密耦合,即在每种情况下都只能在另一个动作之后调用,那么更好的做法是分派该动作,然后让第一个动作调用第二个动作。
如果它们是解耦的,即可以任意顺序调用它们并且可以单独使用它们,则可以通过从方法中调用这两个动作来更好地以编码方式进行通信。
请记住,动作是用于异步动作的,因此请充分利用async / await,它们将非常易于管理。