this SO answer explaining how to render a recursive JSON structure using a directive numaralı telefonu takip etmeye çalışıyorum. Bununla birlikte, verilen yanıtın aksine, verilerim DOM yüklendiğinde ve Açısal olarak ilk defa çalıştırıldığında değil.Hizmet değiştiğinde Angular JS yönergesini güncelleme
Bunun yerine, benim veri bir HTML giriş alanına alınan ve bir Açısal Servisi (kullanıcı formu gönderdiğinde) depolanır.
Servis'in veriler değiştirilene ben ne zaman güncel bir Eğik Yönergesi tutabilir nasıl? cevaben
Güncelleme cevaplamak için yardımcı olmuştur mükemmel bir cevap vermiş, fakat (burada güncellenir) bir uygulama önlenmesi, ilgili sorunu ortaya @musically_ut
.
direktif$scope
saklanan verilere erişmek Eğik {{expressions}}
içeren HTML işler. Orijinal çözüm, hizmeti hizmetinin hazır olduğunda $watch
olduğu için. Nasıl 'Yeni' veri kılan yönergesi önce $scope
eklenir emin olabiliriz?
mimarisi ve akışın bir bakıştır:
ControllerA
->ControllerA
kullanıcıdan girdi al - değişiklikler için>$watch
-> verileriControllerB
dönüştürmeye hizmet kullanın servisDirective
- cha için>$watch
hizmetinde değişmelerinControllerB
- direktifleri sorun adımlarla 5 ile 6 arasında olduğunu
kullanarak (hizmet itibaren)> Ekran dönüştürülmüş veriler ->$scope
Directive
veri ekleyin. yönergesi, ControllerB, verileri $scope
'a eklemeden önce {{expressions}}
oluşturur. Bu işe yaramadı bile, çok karmaşık ve 'hacky' hissediyor. Aslında , ben dönüştürülmüş veriler hizmette hazır olduğunda dinlemek için ControllerB içinde $watch
kullanıyorum, gerilemeye. Bu bile biraz aşırı bir his verir (servisi zamanuyumsuz çağrılar yapmaz). yönergesini tanımlayan ve daha sonra veriler üzerinde $watch
kurmak ise
ben açısal yeni duyuyorum ve direktifleri hizmetleri değişiklikleri izlemek hakkında bilgi arama yaparak mesaja olsun. Anladığım kadarıyla, pb (ve son zamanlarda okuduğum şeye göre), ** DenetleyiciB ** 'nizdeki' kapsamı içine veri eklememelisiniz ', bunu ** servisine bildirmeniz daha iyi olur ** ve otomatik olarak ** controllerB ** kapsamına rapor edilecektir. Bu arada, ** yönergelerindeki ** ** hizmet ** değişikliklerini izleyebileceksiniz ** ('harici' ** controllerB ** kapsamını izlemekten daha kolay demek istiyorum.) Ama belki de yanılıyorum. –