ListComponentがあります。ListComponentでアイテムをクリックすると、そのアイテムの詳細がDetailComponentに表示されます。両方が同時に画面に表示されるため、ルーティングは必要ありません。
ListComponentのどのアイテムがクリックされたかをDetailComponentに通知するにはどうすればよいですか?
親(AppComponent)までイベントを発行することを検討し、@ Inputを使用して親にDetailComponentのselectedItem.idを設定させました。または、監視可能なサブスクリプションで共有サービスを使用することもできます。
編集:ただし、追加のコードを実行する必要がある場合に備えて、イベント+ @Inputを介して選択したアイテムを設定しても、DetailComponentはトリガーされません。したがって、これが許容できるソリューションであるかどうかはわかりません。
しかし、これらの方法はどちらも、$ rootScope。$ broadcastまたは$ scope。$ parent。$ broadcastを介したAngular 1の方法よりもはるかに複雑に見えます。
Angular 2のすべてがコンポーネントであるため、コンポーネントの通信についてこれ以上の情報がないことに驚きます。
これを達成する別の/より簡単な方法はありますか?