簡體   English   中英

Angular 2組件與對象的父子通信

[英]Angular 2 component parent-child communication with objects

在為子組件分配原始值(字符串,數字,布爾值)時,當創建父組件和子組件時,必須創建一個@Input和一個帶有eventemitter的@Output以獲得雙向通信。 到現在為止還挺好。

但是,當我僅通過@Input將復雜的Object分配給子組件,並且更改了Object內部的某些值時,我的父組件也會看到這些更改。 因為我正在編輯對象引用。

所以我的問題是,我應該避免在子組件中設置復雜的對象,還是不好的做法? 是否有任何陷阱或可以像“雙向數據綁定”那樣使用它?

創建具有相關屬性的模型

export interface InputModel {
      a:string; 
      b:number;
      c:boolean;
}

創建此類型的@Input屬性

@Input() obj : InputModel

通過這種方式,可以對Input對象的任何屬性進行任何更改。 ngOnChanges()將被觸發,可用於處理您的操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM