【问题标题】:Attaching a vuex store from within a vue component从 vue 组件中附加 vuex 存储
【发布时间】:2021-09-02 07:50:50
【问题描述】:

我遇到了一种情况,我以多种方式使用特定的 Vue 组件。有时我使用new Vue({store}) 将其初始化为 SPA,有时我在另一个 vue 组件中使用它。

例如

<template>
  <component/>
</template>

在上述情况下,我将如何将 vuex 存储附加到组件?手动覆盖 $store 属性显然是行不通的,Vue 实例本身并没有真正说明这个问题。有没有办法做到这一点?

我编写了一个简单的商店工厂,它创建了一个新的 vuex 商店实例,但我需要一种方法将它从 vue 模板/comp 中附加到组件。

所述组件足够复杂,足以保证使用 vuex。

【问题讨论】:

    标签: vue.js vuejs2 vue-component vuex


    【解决方案1】:

    显然手动设置 $store 属性确实可以解决问题。

    this.$store = store
    

    【讨论】:

    • 您还可以查看存储模块vuex.vuejs.org/guide/modules.html 并在保留的命名空间下注册一个新模块。虽然覆盖 vue 的默认商店注册在组件中有效,但您将丢失商店中不是来自组件自己的商店的任何内容。
    • 虽然我普遍同意。这不太适合我的用例。我不使用全局 vuex 存储,而是将特定的存储附加到组件组。在我的情况下,覆盖是一个更好的解决方案
    猜你喜欢
    • 2021-01-20
    • 1970-01-01
    • 2020-04-28
    • 2018-06-14
    • 2019-11-25
    • 2019-01-26
    • 2021-08-14
    • 2018-08-07
    • 1970-01-01
    相关资源
    最近更新 更多