【问题标题】:Mutate vuex store property from modules从模块中改变 vuex 存储属性
【发布时间】:2020-09-26 07:52:33
【问题描述】:

是否可以从模块中改变 vuex 存储属性?

我的情况是这样的:

我的主要 Vuex 存储 (index.js) 中有一个数组属性 arr[]。

商店很大,所以我试图通过为各种动作和突变设置单独的模块来使其更加模块化。

多个模块都需要能够改变数组,所以我不能将数组放在单个模块中。

我无法弄清楚如何从一个或多个模块访问index.js 中的数组。

我曾尝试在我的模块操作中使用rootState,但我无法让它工作,同时还传递了与该函数相关的参数。

我也研究过吸气剂,但我对它们的了解不够深入,无法知道这是否是正确的方法。

是否有可能以某种方式访问​​数组并从模块中对其进行变异?

【问题讨论】:

    标签: vue.js vuex vuex-modules


    【解决方案1】:

    更好的方法是在您的主模块(包含数组)中拥有一个 mutate 函数以及一个被调用来提交突变的动作。然后,您可以从您希望使用的任何其他模块调用此操作

    dispatch(your_base_action, {args}, { root: true })

    要从任何其他模块访问您的数组,您可以使用 rootState,就像这样-

    rootState.base_arr

    【讨论】:

      猜你喜欢
      • 2019-08-03
      • 2022-01-22
      • 1970-01-01
      • 2018-04-24
      • 2018-12-08
      • 2018-09-29
      • 2021-04-10
      • 1970-01-01
      • 2020-03-08
      相关资源
      最近更新 更多