私は親コンポーネント(P1)と2つの子コンポーネント(C1とC2)を持っています。 両方の子コンポーネントには、編集可能なprimengデータテーブルがあります。 P1に2つのボタンがあります:fetch()とsave()です。 fetch()は、データベースを呼び出してデータを取得します。 私は共有サービスを使用してデータをフェッチし、BehaviorSubjectを使用してコンポーネントに渡します。 マイデータオブジェクトは、次のようになります。コンポーネントとの角度データ通信
export interface ParentObj { name: string; child1 : Child1[]; child2: Child2[]}
export interface Child1 { weight: number;}
export interface Child2 { code: string;}
子コンポーネントは、共有サービスからデータをサブスクライブします。 問題は、子コンポーネントが所有するデータも変更されることです。 P1にsave()をクリックすると、C1および/またはC2がデータを変更したことをP1に通知する方法がないため、子コンポーネントから最新の変更値を取得できません。
とき(保存私は子コンポーネントに通知することができるように同じことを達成する方法はあります)が呼び出され、それがParentObjに反映されます?。
チェックをこのアウト:https://stackoverflow.com/a/44455401/5346095 –
@Manu:データがすでに親から子へ渡されていないが、子コンポーネントのイベントのようなコミュニケーションの手段がないので、他の方法で丸めます。 – Amit
RxJSライブラリ –