我正在编写有亲子关系的应用程序,我正在寻找处理数据/事件流的最佳实践。父组件包含要发送给子组件的项目列表。
子组件具有用于更新当前值的数据条目。此时,正在从子进程中处理更新值。我做了以下工作:当我从服务器获得成功时,我只需确保子值是ok的。我已经使这些数据传播到父级(eventEmitter)成为可能,但目前我还没有对此做任何事情?我是否应该在这里使用双向数据绑定?或者我应该使用onActivityUpdated将该项目传播到父项目?子进程是否应该处理对服务调用并更新该值?
子列表显示为一个列表(所有数据都在同一页上),因此可以编辑一个子列表,然后编辑另一个,...然后应该有保存所有来自家长的选项。处理这个问题的最佳方式是什么?父级是否应该发起对服务的调用,然后更改所有值?
这是到目前为止的代码,我已经省略了大部分不必要的东西...
parent有一个项目列表,它像这样发送给子项目:
ts:
export class ParentComponent implements OnInit {
//Filtered items
@Input()
public items: Client[];html:
<case-activity-time-edit-item *ngFor="let item of items; let i = index" [(element)]="items[i]" (activityUpdated)="onActivityUpdated($event)"></case-activity-time-edit-item></div>这是孩子:
export class ChildComponent implements OnInit {
@Input()
public element: Client;
@Output()
public activityUpdated: EventEmitter<Client> = new EventEmitter<Client>();发布于 2017-10-11 19:57:08
你做的每件事看起来都很好。我唯一的建议是使用双向绑定来保持父值和子值的同步:
_element: Client;
@Input() set element(val) {
this._element = val;
}
get element() {
return this._element;
}https://stackoverflow.com/questions/46687324
复制相似问题