2014-04-17 72 views
3

如果我在我的應用程序中加載異步數據。 NgRepeat僅對數組中的第一個元素進行動畫處理。只有ngRepeat中的第一個元素是動畫

jsFiddle

HTML:

<div ng-repeat="x in data"></div> 

CSS:

.box.ng-enter { 
    -webkit-transition: all 2s ease; 
    transition: all 2s ease; 
    opacity: 0; 
    top: 20px; 
} 

.box.ng-enter-stagger { 
    -webkit-transition-delay: 0.2s; 
    transition-delay: 0.2s; 
} 

.box.ng-enter.ng-enter-active { 
    opacity: 1; 
    top: 0; 
} 

在這個例子中,我使用$超時來模擬一個異步數據源。

這是爲什麼。

謝謝!

+0

你可以在github上爲這個和參考@matsko創建一個問題嗎?我試圖找到一個不起作用的具體例子。 – matsko

回答

2

我的猜測是這是一個已經修復的錯誤。自1.2版發佈以來,對動畫模塊進行了大量更改。

Here is a JsFiddle它擁有git的最新源碼,用於嵌入動畫模塊並且問題已消失。如果您需要此功能,那麼最好使用最新的源代碼加載您自己版本的動畫模塊。

Here you can compare the 1.2.* branch to the master branch尋找「src/ngAnimate/animate.js」查看模塊的所有更改。

Ignore - needed to get the fiddle link to work i get the motivation 
behind requiring code along with a fiddle but in this case it actually makes 
little sense the only modification made to the original was the addition of 
1600 lines of code taken from the latest version of the module. I'm not 
putting that in here. 
+0

來自code.angularjs.org的版本1.3.0-beta.5也適用於我。 – bergdev