如何最好地解决同一视图中组件之间的状态共享

How to best tackle sharing of state between components in same view

我有一个包含 3 个组件的项目视图,<project-item><project-list><project-view>。所有这些组件都需要了解所选项目。

层次结构如下所示...

<project-view>
    <project-list>
        <project-item selected></project-item>
    </project-list>
</project-view>

什么是共享状态的最佳方式,我觉得 vuex 在这里是错误的选择,因为它不是全局状态。

我也曾尝试在 <project-view> 组件上使用计算的 属性 来获取 <project-list> 组件上的选定项目,但它会抛出错误,尽管存在并在范围内。

Vuex 就是你的答案。 https://vuex.vuejs.org/en/intro.html

这是状态共享的解决方案。

您将创建商店,将您的状态与商店连接起来并使用 actions/mutations 与它们一起工作。

它将为状态共享奠定良好的基础,如果需要,您可以轻松扩展。

祝你好运!

如果您认为 Vuex 有点矫枉过正,请在此处查看我的回答 - 完全相同的主题