我创建了一个自定义指令,在其创建时触发$ 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;
}]);
以及在视图中带有指令的示例应用程序
答案 0 :(得分:1)
将ng-animate-children添加到ng-view
https://github.com/angular/angular.js/issues/10929#issuecomment-72396889