我有一個AngularJS 1.2.2的網絡應用程序,我基於$scope
屬性顯示/隱藏<div>
。使用ngAnimate
模塊,我製作了<div>
的顯示和隱藏動畫。告訴ngAnimate只動畫ngShow/ngHide
<div id="square" ng-show="showSquare" class="animate-shiny"></div>
我也有一類我希望把這個<div>
,爲此我使用ngClass
。
<div id="square" ng-show="showSquare" class="animate-shiny" ng-class="{ cool: extraCool }"></div>
,當它恰巧,有時該類被在同一時刻施加時,將顯示/隱藏的<div>
。這導致顯示/隱藏動畫不再起作用,顯然它發現ngClass
更有趣的動畫,即使我不想使用該動畫ngAnimate
。
Here's a Plnkr that demonstrates the behavior。點擊顯示/隱藏按鈕效果很好,單擊make cool按鈕效果很好,但將這兩者結合的按鈕會導致顯示/隱藏動畫中斷。
我該如何解決這個問題?我可以做到這一點,而無需手動尋址$animate
?
在此先感謝!
這真是太棒了! – Beyers
請參閱http://docs.angularjs.org/api/ngAnimate上的文檔,「使用」一節,在所列出的指令下說:*「您可以在訪問每個指令頁面時瞭解有關動畫的更多信息。」*那就是你可以找到指令特定的類名來觸發更具體的動畫的地方。 – kontur
儘管這對我很有用,但仍然存在一些奇怪的現象。如果我將動畫放慢到四秒,然後顯示正方形(第一個按鈕),然後應用兩個更改(最後一個按鈕),我看不到動畫效果很酷。我的廣場使用'ng-animate'獲取動畫,但'.cool'類不再適用於動畫。我不確定爲什麼,轉換是正確定義的... –