2016-03-31 12 views
0

titriyor Ben ng-view ve ng-if ile oldukça önemli bir sorunum var.İki eleman (bir öğe ve iki öğe) ile bir düşüş var. İki öğe rootScope üzerinde bir özelliği değiştirir .AngularJS - DOM Öğeleri son zamanlarda

Başka bir yerde iki öğe daha var (div-container, container one and two container). Bunlar ng-show ile gösterilir - birinci kısımda konteynır 1 ve eleman 2'de konteynır.

Bir öğeyi tıklatıp rootScope'un özelliğini değiştirir ve sayfayı yeniden yüklediğimde, iki kapsayıcı bir şey yapmadan dönüşümlü olarak görüntülenir.

Birden çok izleyicim var, sevgili ng-pelerinler ve ng-view kullanarak yönlendirmeyi kullanıyorum. Ayrıca uygulamanın nispeten büyük olduğunu belirtmek isterim. Çoğu zaman, sorun muhtemelen iOS’ta Android’de gerçekleşir.

+0

StackOverflow'a Hoş Geldiniz! Kodunuzu, sorunu gösteren minimal bir örnek gönderir misiniz? Görülebilir kod hata ayıklamak için çok daha kolaydır. – gariepy

cevap

0

En kısa zamanda bir eleman bir kez ve rootScope değişikliklerin özelliği tıklayın ve sonra sayfayı yeniden üzere iki konteyner dönüşümlü bir şeyler yapmak bu olmadan görüntülenir.

Diğer iki kapsayıcı sadece bir saniye kadar ortaya çıktı ve sonra yok oldu mu demek istediniz? Bu durumda, ng-show içinde sağladığınız koşulun yükleme zamanında true olduğunu düşünüyorum, bu yüzden durum değişmeden önce bir süre görünür ve sonra kaybolurlar.

ng-show koşulunun başlangıçta false olduğundan emin olmanız gerekir.

+0

kapsam özelliği: "değer". "Değer" yanlışsa, Container1 görüntülenir. "Value" değeri true ise Container2 görüntülenir. "değer", tamamen yanlıştır. Yani container1 başlangıçta görüntülenir. "Değeri" true olarak değiştirirsem, container1 gizlenir ve container2 görüntülenir. "Değer" bir çerezde saklanır - "c_value" olarak adlandırın. Sayfa yüklendikten sonra "c_value" adında bir çerez olup olmadığını kontrol edin ve "true" (burada string) olup olmadığını kontrol edin ve boole "value" değerini dolduracak. Sayfayı yeniden yükledikten sonra, "değer" değeri true (cookie'nin nedeni) olarak değişir, ardından false değerine döner, tekrar true değerine döner ve böyle devam eder. – Heddy

+0

Yani değeri ** sonra ** başlangıç ​​değerini çerezden ayarladığınız anlamına mı geliyor? – Roy

+0

Doğru. Ama sanırım çözümü buldum: Görüntüyü güncellemek için sık sık "$ timeout" kullandım, muhtemelen çok sık düşünüyorum. Birçok makaleyi okuduktan sonra, "tam işlevli" ya da benzer bir şeyle "açısal ortam" dışındaki kapsam özelliklerini güncellemenin nedeni olan bir jQuery-animasyonu yapacağım zaman kullanıyorum. zaten çaba için teşekkür ederim – Heddy