animate.enter不从视图内的指令触发

时间:2015-01-30 01:21:44

标签: angularjs angularjs-directive

我创建了一个自定义指令,在其创建时触发$ animate.enter。工作正常,直到我将指令放在视图中。我能让它工作的唯一方法是使用很长的超时或将父容器更改为正文。为什么呢?

这是指令和动画

app.directive('ngCustom',  function ($animate, $timeout, $rootScope) {

  return function(scope, element, attrs) {
    var parent = element.parent();//angular.element(document.body);
    $timeout(function(){
      $animate.enter(element, parent);
    });
  }
});

app.animation('.animate-custom', [ function () {
    var obj = {};
    obj.enter = function(element){          
      TweenMax.from(element.find("h1"), 0.5, {delay:1, opacity:0, x:"+=100"});
    }
    return obj;
}]);

以及在视图中带有指令的示例应用程序

http://plnkr.co/edit/HEDUIAifPEB6TbKNdm48?p=preview

1 个答案:

答案 0 :(得分:1)