我是具有亲子关系的编程应用程序,我正在寻找处理数据/事件流的最佳实践 . parent具有发送到子组件的项目列表 .
子组件具有用于更新当前值的数据条目 . 此时,正在从儿童处理更新值 . 我做了以下:当我从服务器获得成功时,我只是确保子值是可以的 . 我有可能将这些数据传播到父(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>();
1 回答
你正在做的一切都很好看 . 我唯一的建议是使用双向绑定保持父值和子值同步: