2013-06-25 41 views
2

我正在測試最新的angularJS版本1.1.5中的動畫,看起來好像不能正常工作。請檢查該Fiddleng-animate與angularjs中的ng-show不兼容1.1.5

HTML:

<div ng-app> 
    <div ng-controller='ctrl'> 
     <input type='button' value='click' ng-click='clicked()' /> 
     <div ng-show="foo == true" class='myDiv' ng-animate="{show: 'fadeIn', hide:'fadeOut'}"> 

     </div> 

    </div> 
</div> 

CSS:

.myDiv{ 
    width:400px; 
    height:200px; 
    background-color:red; 
} 
.fadeIn-setup, .fadeOut-setup { 
    -webkit-transition: 1s linear opacity; 
    -moz-transition: 1s linear opacity; 
    -o-transition: 1s linear opacity; 
    transition: 1s linear opacity; 
} 
.fadeIn-setup{ 
    opacity:0; 
} 
.fadeOut-setup{ 
    opacity:1; 
} 
.fadeIn-setup.fadeIn-start { 
    opacity: 1; 
} 
.fadeOut-setup.fadeOut-start{ 
    opacity:0; 
} 

AngularJS:

function ctrl($scope){ 
    $scope.foo = false; 
    $scope.clicked = function(){ 
     $scope.foo = !($scope.foo); 
    } 
} 

但是,當我切換回1.1.4版時,它工作正常,但又有一個錯誤,他們說它已在v1.1.5中修復。現在這是令人困惑的。他們已經修復了以前的錯誤與更新的錯誤?無論如何,任何幫助將不勝感激。

+0

是1.1.4,它開始看到的錯誤嗎?我在1.1.5中看到了同樣的情況。沒有動畫,只是出現並消失。 – Ronnie

+0

是的,錯誤發生在v1.1.4現在這個錯誤發生在v1.1.5我使用相同的代碼btw來顯示不同的結果。 – SolidSnake

+0

'1.1.5'有一個新的文檔:[NgAnimate 1.1.5 Documentation](http://code.angularjs.org/1.1.5/docs/api/ng.directive:ngAnimate) - [NgAnimate Samples]( http://www.nganimate.org) –

回答

5

幾個小時挖我找到了解決辦法之後的話,所有的單證已經過時並且不更新到最新API。這裏是解決方案:

https://github.com/angular/angular.js/commit/11f712bc

根據變化

日誌:

 
The CSS transition classes have changed suffixes. To migrate rename: 
.foo-setup {...} to .foo {...} 
.foo-start {...} to .foo-active {...} 

or for type: enter, leave, move, show, hide: 
.foo-type-setup {...} to .foo-type {...} 
.foo-type-start {...} to .foo-type-active {...} 
+1

'1.1.5'有一個新的文檔頁面:[NgAnimate 1.1.5 Documentation](http://code.angularjs.org/1.1.5/docs/api/ng .directive:ngAnimate) –

+0

我對Angular最大的抱怨是文檔頁面跟不上版本,我覺得有10%的例子甚至不能在頁面上工作。 –