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

Vue.js 如何最好地解决同一视图中组件之间的状态共享问题,vue.js,vue-component,vuex,Vue.js,Vue Component,Vuex,我有一个包含3个组件的项目视图,、和。所有这些组件都需要知道所选的项目 保存特定项目的状态。此组件具有一个名为“选定”的属性,该属性确定是否选择了项目 包含一个或多个项目项,并具有一个计算属性,用于检查子项是否为类型以及选择了哪些项 是仅包含与UAC相关的导航和逻辑的一般视图 层次结构如下所示 <project-view> <project-list> <project-item selected></project-item

我有一个包含3个组件的项目视图,
。所有这些组件都需要知道所选的项目

  • 保存特定项目的状态。此组件具有一个名为“选定”的属性,该属性确定是否选择了项目
  • 包含一个或多个项目项,并具有一个计算属性,用于检查子项是否为
    类型以及选择了哪些项
  • 是仅包含与UAC相关的导航和逻辑的一般视图
层次结构如下所示

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

我觉得分享该状态的最佳方式是什么?vuex的选择是错误的,因为它不是全局状态

我还尝试在
组件上使用computed属性来获取
组件上的选定项,但它会抛出错误,尽管存在并且在范围内。

Vuex是您的答案。

这是国家共享的解决方案

您将创建存储区,将您的状态与存储区连接,并使用操作/突变来处理它们

这将为你的国家共享提供巨大的基础,如果你需要的话,你将很容易扩大。

祝你好运

Vuex是您的答案。

这是国家共享的解决方案

您将创建存储区,将您的状态与存储区连接,并使用操作/突变来处理它们

这将为你的国家共享提供巨大的基础,如果你需要的话,你将很容易扩大。


祝你好运

如果您认为Vuex的杀伤力过大,那么请查看我的答案-完全相同的主题


如果您认为Vuex的杀伤力过大,请查看我的答案-完全相同的主题


我一直认为Vuex是一个全局状态,而不是几个组件之间的状态,这就是为什么我认为使用这种方法不正确的原因。它是正确的。在开发产品时,始终使用可扩展的解决方案。你永远不知道你的项目将如何发展。介绍VUEX的时间大约是20-30分钟,这不是很大的工作。我已经使用它,但只有在我认为整个应用程序需要知道的东西,但它是一个公平的点,我不明白为什么我不能在更小的范围内使用它。我一直认为Vuex是一个全局状态,而不是几个组件之间的状态,这就是为什么我不认为使用这种方法是正确的。它是正确的。在开发产品时,始终使用可扩展的解决方案。你永远不知道你的项目将如何发展。介绍VUEX的时间是20-30分钟,这不是很大的工作。我已经使用它,但只有在我认为整个应用程序需要知道的东西,但这是一个公平的点,我不明白为什么我不能使用它在一个较小的规模。