【发布时间】:2018-02-15 12:38:15
【问题描述】:
我知道我可以从应用程序的组件中访问应用程序的状态,但这意味着该组件不是通用/独立的,它依赖于父级的数据/状态结构,我认为这是错误的。
所以我想知道是否可以以某种方式将组件表示的状态的选定部分传递给组件,因为它是数据(道具?),而组件不知道它来自父状态以及数据何时更新通过组件,app'đ 状态将反映这一点。
因此,例如,如果我的应用程序的状态包含带有“字段”的数据,并且它的每个值都代表一个表单文本字段,我将为它们中的每一个构建一个循环,以创建输入组件并从该“字段”传递/连接数据项目进入组件。组件不知道数据来自哪里,也不知道它只代表整个应用程序的一小部分。该组件仅在其自己的上下文中处理数据。
【问题讨论】:
-
某个组件,某处将管理状态更改。如果它是一个将在许多地方使用的通用组件,那么只需将状态从父级传递并使用 sync 修饰符将事件发送回父级。
-
我想你刚刚描述了 Vue 应用程序的预期架构。道具进来了,组件不在乎从哪里来。但是,组件不会更改 props 的值,而是发出事件,以便拥有数据的任何人都可以这样做。组件仅更改其自身数据中的值。
-
感谢 Roy 的评论,我想我现在明白了。这些数据适用于本地(组件)范围和来自外部的道具,对吗?
-
请不要通过破坏您的帖子为人们增加工作量。通过在 Stack Exchange (SE) 网络上发帖,您已在 CC BY-SA 3.0 license 下授予 SE 分发该内容的不可撤销权利(即无论您未来的选择如何)。根据 SE 政策,帖子的非破坏版本是分发的版本。因此,任何破坏行为都将被撤销。
标签: vue.js vuejs2 vue-component vuex