2016-04-12 5 views
0

beklendiği gibi çalışmıyor gibi görünüyor Üst div, ng-if temelli DOM'a eklenmezse, ancak bir şey değiştiğinde gerçekte Cannot read property 'someProperty' of null olsun ifadesidir.Açısal ifadesi sırası (ng-eğer ile Hiyerarşik div en) Bu görüşe basitleştirilmiş olabilir bir açısal pasajı var

Bu, açısal varsayılan davranış mıdır ve burada siparişte garanti yoktur ve dış div ng-if'lere güvenemiyorum.

+0

Senin sorunun tekrarlanabilir değildir. https://jsfiddle.net/hb1pfs39/ – georgeawg

cevap

2

Dikkat: ng-if kendi kapsamı var yaratır ... Sen ng-show yerine ng-if kullanabilirsiniz

: çocuğun kapsamını yaratmaz ...

+0

Evet, bunu zaten yaptım, bunun neden olduğunu anlamak istedim. Anladığım kadarıyla da "verimli" olduğu için ng-kullanıyordum (dom göstermediğimi karşılaştırmak zorunda kalmayın) –

+0

Sanırım DOM oluşturma işleminden kaçınmayacak (açılışı gerçekleşmeden önce inşa edilmiş). ..), ancak ** şartlar yerine getirilmediyse ** DOM öğelerini kaldırır ... Yani, hayır, muhtemelen * daha hızlı olmayacaktır ... (ayrıca bkz. http://stackoverflow.com/sorular/19177732 /-ne-fark-arası-ng-if-ve-ng-show-ng-sakla). – MarcoS