1
我编程应用程序,它具有亲子关系,我在寻找最好的做法来处理数据/事件流。 家长有发送给子组件的项目列表。角2/4父子沟通
儿童组件具有用于更新当前值的数据项。此时,正在从儿童处理更新值。我做了如下:当我从服务器获得成功时,我只是确保孩子的价值观是好的。我已经使这个数据传播到父母(eventEmitter)成为可能,但在这一刻,我对此没有做任何事情? 我应该使用双向数据在这里还是没有约束力?或者我应该使用onActivityUpdated将该项目传播给父项?孩子是否应该处理呼叫服务并更新该值?
儿童列表显示为列表(同一页上的所有数据),所以它可以编辑一个孩子,然后又......然后应该有免于父母所有选项。处理这个问题的最佳方式是什么?家长应该发起呼叫服务,然后更改所有值吗?
这里的代码,所以到目前为止,我最中省略的不必要的东西...
家长有项目列表,其被送到儿童是这样的:
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>();
如果我们在这里处理的对象,我们需要记住,对象是可变的JS,所以在这种情况下,它们被传递通过参考,所以无论你如何处理孩子的数据,父母都会知道即使没有平衡测验。只是要小心,这可能并不总是你想要的,但看起来你希望在这里发生。也似乎某种形式在这里会很有用,因为你正在讨论编辑和保存数据。我会使用反应形式,这真的很棒,有很多功能! :) – Alex