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