2015-05-04 9 views
11

Bir yılı aşkın bir süredir birkaç iş arkadaşımla çalıştığım tek bir sayfa uygulamasına sahibim. Sayfalar arasında hareket etmek için açısal-ui yönlendirici kullanan bir açısal uygulama.Tek sayfa açısal uygulamasında infdig ile boş dizide nasıl hata ayıklanır?

Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting! 
Watchers fired in the last 5 iterations: [] 
http://errors.angularjs.org/1.3.3/$rootScope/infdig?p0=10&p1=%5B%5D 
    at REGEX_STRING_REGEXP (angular.js:63) 
    at Scope.$get.Scope.$digest (angular.js:14084) 
    at Scope.$get.Scope.$apply (angular.js:14308) 
    at done (angular.js:9532) 
    at completeRequest (angular.js:9717) 
    at XMLHttpRequest.requestLoaded (angular.js:9660) 

ben [$ rootScope: infdig] anlayın: İlk defa ayarları sayfasını ziyaret ederken Bazen, şu istisnası atılır, normal durumda ama gözlemcileri dizisi boş olması çok kafa karıştırıcı bana göre. Ayrıca, hata ayıklaması çok zor oldu, çünkü sadece ara sıra meydana geliyor. Denetçiyi kullanarak, tamamlanan isteğin, ayarların HTML dosyasının yüklenmesi olduğunu belirledim. Ayarlar sayfasından çeşitli denetleyicileri kaldırmak sorunu gidermez, yalnızca ortak widget'lar yüklenmiş olan ayarlar sayfasının bir "kabuk" sürümünü yüklerken bile gerçekleşmiş gibi görünüyor.

Bu boş infdig istisnasına neyin neden olduğunu anlamaya nasıl başlayabilirim? Bunu nasıl önleyebilirim?

+0

Bazı kodunuz kapsamı değiştirir .. & sonsuz döngüye gider .. –

+0

Bu, ayar denetleyicisinin hiçbir şey yapmasa bile gerçekleşir. – Chris

+0

Aynı şeyden bir plunkr/fiddle oluşturabilir misiniz? –

cevap

1

Bunu bir yorumun içine koyardım, ancak henüz yeterince itibarım yok.

Daha önce ui yönlendiricisini kullanarak bu sorunu yaşadım. Benim durumumdaki problem, $rootScope.$on('$stateChangeStart')'un içinde bir sonsuz döngüye tekabül eden yetki mantığıydı. Sorunumu çözmek için yaptığım şey, Chrome'da Chrome'daki tüm bağlantı noktalarında, $state.go ile yeniden yönlendirme yaptığım module.run/config'daki tüm kesme noktalarına ayarlanmıştı. Mantığı aşabildim ve sonsuz döngünün başladığı yeri görebildim.

+0

İyi bir çağrı, sorunumuz da bir şekilde kimlik doğrulama ile ilgili gibi görünüyor. Sadece uygulama ilk kez yüklendiğinde gerçekleşir. – Chris

+0

Kodunuzun bir kısmını gönderir misiniz? – DerekMT12

+1

Maalesef, daha büyük, tescilli bir uygulamanın parçası olamaz. Bununla birlikte, sorunun kaynağını gerçekten bulabilirsem, daha basit bir uygulamada yeniden üretmeyi umuyordum. – Chris

İlgili konular