Vue.js 自包含组件数据模型与主根数据模型
我正在寻找有关如何实施Vue组件的反馈 我有一个Vue实例,其中包含订单列表和对当前订单的引用。让我们把这个根实例称为“orders” 设置当前订单后(基于单击列表中的一个订单),我将在“订单”中创建一个名为“当前订单”的新组件。“当前订单”有一个父级传递给它的属性,称为“订单id”,该属性在“当前订单”中用于调用订单数据并呈现可编辑表单 在“当前订单”中,除了与订单(客户等)相关联的元数据之外,我还有第三个组件包含一组项目,我们将这个最终实例称为“项目组” 以下是这些实例的总体布局:Vue.js 自包含组件数据模型与主根数据模型,vue.js,vue-component,Vue.js,Vue Component,我正在寻找有关如何实施Vue组件的反馈 我有一个Vue实例,其中包含订单列表和对当前订单的引用。让我们把这个根实例称为“orders” 设置当前订单后(基于单击列表中的一个订单),我将在“订单”中创建一个名为“当前订单”的新组件。“当前订单”有一个父级传递给它的属性,称为“订单id”,该属性在“当前订单”中用于调用订单数据并呈现可编辑表单 在“当前订单”中,除了与订单(客户等)相关联的元数据之外,我还有第三个组件包含一组项目,我们将这个最终实例称为“项目组” 以下是这些实例的总体布局: orde
orders
current-order
item-group
item-group
item-group
“订单”仅保存订单列表;它不保存任何订单数据。
“当前订单”保存与订单关联的元数据以及项目数据
在与同事讨论该模型时,他向我解释说,这不是实现该模型的最佳实践方式。他认为实现这一点的正确方法是保存根实例“orders”上所有组件的所有数据,而不是我实现它的方法——在每个级别保存数据
他解释的模型对我来说似乎不太容易维护。“current order”可以在应用程序的其他页面上使用,因此如果我在根实例中维护它的数据,那么我必须在我附加到它的所有根实例中维护它
按照我实现它的方式,只需传递组件一个order_id,它就会用数据填充自己
他继续向我解释,像我现在这样在组件上保存数据,可以通过重新呈现实例来重置,我对此不太理解
我的实现方式和他描述的方式都会起作用,但我正试图找出可维护性的最佳实践方法
注意:这不是一个大型水疗中心,我不认为Vuex能满足我们目前的目标
任何反馈都将不胜感激。这取决于您的
子组件负责什么。如果子组件
正在扩展父组件的功能,则应始终在父组件中维护该状态。例如,在基于CRUD
的情况下,您不能为create
和update
创建单独的组件,而只能编写一个组件并在父组件中保持其状态(已更新/已创建)
如果在您的当前订单中
您没有更新与订单相关的任何内容,则无需在订单中维护其状态
,即如果元数据可以被视为您的订单的单独实体
则无需在父级
中维护它。但若order和它的meta都是一个实体,那个么您应该在父实体中维护它的状态