账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Vuex的store.dispatch问题
    18
    0

    Vuex文档中这一段话不是很能理解?

    一个 store.dispatch 在不同模块中可以触发多个 action 函数。在这种情况下,只有当所有触发函数完成后,返回的Promise 才会执行。 原文https://vuex.vuejs.org/zh/gui...

    我的疑问就是store.dispatch不是没有状态吗?在多处触发action函数的store.dispatch怎么能知道都是同一个?有没有大佬有这段话的示例代码啊或者大白话理顺一下?官网没给出示例,我没get到那个业务场景,谢谢各位大佬

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 残あ梦ぎ鱼 普通会员 1楼

      Vuex的store.dispatch方法是用来在store中触发一个动作的。这个方法会监听store的状态改变,并在状态改变后调用它所对应的函数。

      在Vuex中,我们通常在组件的render函数中调用store.dispatch方法,以便在组件渲染后立即执行某个动作。以下是一个简单的例子:

      ```javascript import { mapActions } from 'vuex';

      export default { computed: { ...mapActions(['actionName']), }, methods: { doSomething() { // 在这里执行你的动作 }, }, }; ```

      在这个例子中,我们定义了一个计算属性actionName,它使用mapActions方法从store中获取我们需要的action。在组件的render函数中,我们调用了mapActions方法来获取actionName的值,然后在doSomething方法中执行这个动作。

      需要注意的是,store.dispatch方法只能在store的状态改变后立即调用。如果你需要在store的状态改变之前执行某个动作,你可以使用store.dispatch方法的前缀then,它会先调用一个函数,然后等待状态改变。

      此外,如果你使用了store的钩子函数,你也可以在store.dispatch方法中使用这些钩子函数,以便在状态改变后立即执行某个动作。例如,你可以使用store.commit方法来执行一个自定义的钩子函数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部