我正在使用子組件來構建由遞歸子數組和對象組成的複雜對象。我想要一種方法來使用活動綁定來訪問父組件中的這個對象。每當對象內容發生變化時,角度觸發器EventEmitter
對象內的值基於用戶輸入(選擇框,輸入等)而改變,所以我需要一種方法來發送@Output()EventEmitter,並且每當一個屬性更改時傳遞整個對象。
關於如何實現這一點的任何想法或者是否有我可以採取的另一條路線?
請參閱下面的一些概念代碼,其中輸入具有雙向數據綁定到複雜對象中的深層值,並且我需要通過以某種方式檢測更改來將此更改發送給父代。
實際的形式更復雜,所以我想避免使用特定的事件,例如觀察每個輸入的變化,以便在可能的情況下手動觸發事件發射器。
父模板:
<child-component (emitter)="emitterHandler($event)"></child-component>
父組件:
emitterHandler(obj){ console.log(obj); }
子組件:
@Output() emitter: EventEmitter<any> = new EventEmitter();
complexObj = {data: 'test', lines: [{data: 'asd', time: 123},{data: 'xcv', time: 233}]};
子模板:
<input [(ngModel)]="complexObj.lines[0].data"></input>
您可以針對您的輸入變更發出eventemitter'' – JayDeeEss
感謝您的建議。這種形式比有很多潛在投入的說明要複雜一些。必須使用每個輸入的變化檢測將是一個恥辱。有沒有其他方法? –