AngularJS $动画addClass仅在第一次调用

时间:2014-07-31 06:41:32

标签: angularjs animation addclass

我在调用

的指令链接中有简单的功能
$animate.addClass(element, 'wrong')

然后是动画.wrong

m.animation ".wrong", ["$timeout",($timeout)->

 removeClass: (element, className)->
   console.log "remove"
   angular.noop()

 addClass: (element, className) ->
   console.log "add"
   $timeout(->
     element.removeClass(className)
   ,
     500
   )
   return
第一次运行时的

添加了类权限,并在动画中调用了addClass fn。但第二次只是添加了类,但没有被称为addClass fn。同样也不会调用removeClass fn。

//代码在COFFEESCRIPT

// WHEM PLUNKER将工作I&#LL; LL提供示例

1 个答案:

答案 0 :(得分:2)

您需要在动画中调用done()才能删除ng-animate,以便更改动画。如果您没有调用done(),Angular会认为您的动画仍在运行。

.animation(".wrong", function(){
    return {
        addClass: function(element, className, done){
            done();
        },
        removeClass: function(element, className, done){
            done();
        }
    };
})