Angular 1.xx'de sadece aynı hizmeti istersiniz ve aynı durumla sonuçlanır, bu da hizmetteki verileri paylaşmayı mümkün kılar.
Şimdi Angular 2'de hizmetime referansı olan bir bileşene sahibim. Servisteki verileri okuyabilir ve değiştirebilirim ki bu iyidir. Aynı hizmeti başka bir bileşene enjekte etmeye çalıştığımda, yeni bir örnek alıyormuşum gibi görünüyor.
Neyi yanlış yapıyorum? Hatalı olan modelin kendisi mi (verileri paylaşmak için bir hizmet kullanmak) yoksa hizmeti tekil olarak mı (uygulamanın bir örneğinde) veya başka bir şey olarak işaretlemem mi gerekiyor?
Hattayım 2.0.0-alpha.27/ btw
Ek açıklamadaki appInjector(edit: now providers) aracılığıyla bir hizmet enjekte ediyorum @Componentve ardından yapıcıya bir referans kaydediyorum. Bileşende yerel olarak çalışır - düşündüğüm gibi bileşenler arasında değil (aynı hizmet örneğini paylaşmazlar).
GÜNCELLEME : Angular 2.0.0'dan itibaren artık @ngModule var ve burada belirtilen providersözellik altında hizmeti tanımlayacaksınız @ngModule. Bu, söz konusu hizmetin aynı örneğinin o modüldeki her bileşene, hizmete vb. Aktarılmasını sağlayacaktır.
https://angular.io/docs/ts/latest/guide/ngmodule.html#providers
GÜNCELLEME : Genel olarak Angular ve FE geliştirmesine çok şey oldu. @Noririco'nun bahsettiği gibi, NgRx gibi bir durum yönetim sistemi de kullanabilirsiniz: https://ngrx.io/