Titreşim sorununa neden olabilecek iki ayrı sorun var ve bunlardan biri veya her ikisi ile karşı karşıya kalabilirsiniz.
Problem 1: ng-cloak çok geç uygulanıyor
Bu sorun, AngularJS'nin kafaya yüklendiğinden emin olmak için bu sayfadaki cevapların çoğunda açıklandığı gibi çözülmüştür. Göz doktoruna bakın :
En iyi sonuç için, angular.js komut dosyasının html dosyasının baş bölümüne yüklenmesi gerekir; alternatif olarak, css kuralı (yukarıda) uygulamanın dış stil sayfasına dahil edilmelidir.
Sorun 2: ng-pelerin çok erken kaldırıldı
Sayfanızda, birbiri üzerine basamaklı kurallar içeren çok sayıda CSS varsa ve üst katman uygulanmadan önce CSS'in daha derin katmanları yanıp sönüyorsa, bu sorun büyük olasılıkla ortaya çıkar.
Öğenize eklemeyi içeren yanıtlardaki jQuery çözümleri style="display:none"
, stil yeterince geç kaldırıldığı sürece bu sorunu çözer (aslında bu çözümler her iki sorunu da çözer). Ancak, doğrudan HTML'nize stil eklememeyi tercih ederseniz, aynı sonuçları kullanarak elde edebilirsiniz ng-show
.
Sorudaki örnekle başlayarak:
<ul ng-show="foo != null" ng-cloak>..</ul>
Öğenize ek bir ng-show kuralı ekleyin:
<ul ng-show="isPageFullyLoaded && (foo != null)" ng-cloak>..</ul>
( ng-cloak
Sorun 1'den kaçınmanız gerekir ).
Sonra app.run setinizde isPageFullyLoaded
:
app.run(['$rootScope', function ($rootScope) {
$rootScope.$safeApply = function (fn) {
$rootScope.isPageFullyLoaded = true;
}
}]);
Tam olarak ne yaptığınıza bağlı olarak, app.run'un ayarlanacak en iyi yer olabileceğini veya olmayabileceğini unutmayın isPageFullyLoaded
. Önemli isPageFullyLoaded
olan, titreşmek istemediğiniz her şeyden sonra kullanıcıya açıklanmaya hazır olduktan sonra doğru ayarlanmasını sağlamaktır.
Gibi geliyor Sorun 1 OP vuruyor sorundur, ama diğerleri çözüm çalışması değil veya yalnızca kısmen onlar isabet çünkü çalıştığını buluyorlar Sorunu 2 yerine veya yanı.
Önemli Not: Her iki ng-cloak'a çok geç uygulanmış ve yakında çıkarılan solüsyonlara uyguladığınızdan emin olun. Bu sorunlardan sadece birini çözmek semptomları hafifletmeyebilir.