首页 文章

Angular 2/4亲子沟通

提问于
浏览
1

我是具有亲子关系的编程应用程序,我正在寻找处理数据/事件流的最佳实践 . 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 回答

  • 0

    你正在做的一切都很好看 . 我唯一的建议是使用双向绑定保持父值和子值同步:

    _element: Client;
    @Input() set element(val) {
      this._element = val;
    }
    get element() {
      return this._element;
    }
    

相关问题