ListComponent'ım var. ListComponent'te bir öğeye tıklandığında, bu öğenin ayrıntıları DetailComponent'te gösterilmelidir. Her ikisi de ekranda aynı anda olduğundan, yönlendirme yoktur.
DetailComponent'e ListComponent'daki hangi öğeye tıklandığını nasıl söylerim?
Ebeveyne (AppComponent) kadar bir olay yaymayı ve ebeveynin DetailComponent üzerinde bir @Input ile selectedItem.id ayarlamasını sağladım. Ya da gözlemlenebilir aboneliklere sahip paylaşılan bir hizmet kullanabilirim.
DÜZENLEME: Seçili öğeyi event + @Input ile ayarlamak, ek kod çalıştırmam gerekmesi durumunda DetailComponent'i tetiklemez. Bu yüzden bunun kabul edilebilir bir çözüm olduğundan emin değilim.
Ancak bu yöntemlerin her ikisi de, Angular 1'in $ rootScope. $ Broadcast veya $cope. $ Parent. $ Broadcast yoluyla yapılmasından çok daha karmaşık görünmektedir.
Angular 2'deki her şey bir bileşen olduğundan, bileşen iletişimi hakkında daha fazla bilgi olmamasına şaşırdım.
Bunu başarmanın başka / daha basit bir yolu var mı?