是否有可能让哪个组件调用一些动作 Vuex?
Is possible get which component call some action Vuex?
Vuex 可以获取哪个组件调用某个动作吗?
我return vuex 操作的承诺,并在组件中做出一些决定,作为各个字段上的设置错误消息,但我想在组件上设置。$validator.errors 我尽快收到 http 响应(在动作方法中)
这是可行的好方法吗?
在 Vuex 中,当你调用一个 mutation 或 action 时,你可以将一个对象与你的调度调用一起发送,如果你想跟踪调用一个动作的组件,你也可以将它作为对象的一部分发送。更好的是,如果您使用打字稿,您可以让所有通过 Vuex 发送的对象扩展一个特定的 class。请注意,查找哪个组件调用了动作或突变不是 Vuex 的本机行为。
考虑以下几点:
try{
let out = await this.$store.dispatch('someActionHandler', {referingComponent: this.$options.name, someParam:[1,2,3]})
} catch (e){
// Lets deal with the problem
}
在这里我们将组件的名称作为参数发送,因此可以在我们的操作处理程序中检查它,或者您可以直接将其传递给突变,但我认为前者更有可能是这种情况如果您打算在其中构建逻辑。
至于这是不是一个好方法,答案是相当主观的,我个人认为上述方法没有任何问题。虽然我认为如果大多数组件从未被检查过或者添加的数据最终变得毫无意义地随着每次调用一起传递,这是一种反模式。
Vuex 可以获取哪个组件调用某个动作吗?
我return vuex 操作的承诺,并在组件中做出一些决定,作为各个字段上的设置错误消息,但我想在组件上设置。$validator.errors 我尽快收到 http 响应(在动作方法中)
这是可行的好方法吗?
在 Vuex 中,当你调用一个 mutation 或 action 时,你可以将一个对象与你的调度调用一起发送,如果你想跟踪调用一个动作的组件,你也可以将它作为对象的一部分发送。更好的是,如果您使用打字稿,您可以让所有通过 Vuex 发送的对象扩展一个特定的 class。请注意,查找哪个组件调用了动作或突变不是 Vuex 的本机行为。
考虑以下几点:
try{
let out = await this.$store.dispatch('someActionHandler', {referingComponent: this.$options.name, someParam:[1,2,3]})
} catch (e){
// Lets deal with the problem
}
在这里我们将组件的名称作为参数发送,因此可以在我们的操作处理程序中检查它,或者您可以直接将其传递给突变,但我认为前者更有可能是这种情况如果您打算在其中构建逻辑。
至于这是不是一个好方法,答案是相当主观的,我个人认为上述方法没有任何问题。虽然我认为如果大多数组件从未被检查过或者添加的数据最终变得毫无意义地随着每次调用一起传递,这是一种反模式。