Angularjs 在新范围内新创建的指令$compile不显示动画
我有一个Angularjs 在新范围内新创建的指令$compile不显示动画,angularjs,angularjs-directive,css-transitions,ng-animate,angularjs-compile,Angularjs,Angularjs Directive,Css Transitions,Ng Animate,Angularjs Compile,我有一个switcher指令,它有一个方法,可以创建一个新的作用域,并在其上使用$compile,用另一个指令lister替换其元素 例如,lister指令包含一个在新范围内迭代的ng repeat 我尝试在使用ng enter和ng leave类创建新创建的lister指令后,立即对其进行动画处理,但它没有任何效果,或者看起来是这样 是否可以为使用$scompile动态创建的指令设置动画?如果是,我错过了什么 代码在中。您的选择器是问题所在:- 它应该是.list指令li,因为li是重复的 .
switcher
指令,它有一个方法,可以创建一个新的作用域,并在其上使用$compile
,用另一个指令lister
替换其元素
例如,lister
指令包含一个在新范围内迭代的ng repeat
我尝试在使用ng enter
和ng leave
类创建新创建的lister
指令后,立即对其进行动画处理,但它没有任何效果,或者看起来是这样
是否可以为使用$scompile
动态创建的指令设置动画?如果是,我错过了什么
代码在中。您的选择器是问题所在:-
它应该是.list指令li
,因为li是重复的
.list-directive li.ng-enter,
.list-directive li.ng-leave {
-webkit-transition: all 1s ease;
-moz-transition: all 1s ease;
-o-transition: all 1s ease;
transition: all 1s ease;
}
.list-directive li.ng-enter {
margin-left: 200px;
opacity: 0;
}
.list-directive li.ng-leave,
.list-directive li.ng-enter-active {
margin-left: 0;
opacity: 1;
}
.list-directive li.ng-leave-active {
margin-left: -200px;
opacity: 0;
}
或者在li的
上应用一个类并对其应用规则这是可行的,但为什么呢?如果我手动将边距左侧样式应用于.list指令div,它将有效地移到右侧。为什么我不能对动画做同样的操作?编辑了我的问题,对不起:)@janesconference对不起,我不明白你的问题是什么。左边距是css动画中唯一的右边距?好吧,让我们说:如果我想在实际ng重复之前设置列表单词的动画,该怎么办?或者,如果lister
指令非常复杂,我只想对容器div进行动画处理,以对其中包含的所有内容进行动画处理?@janesconference,这是因为ng animate将类应用于属于ng repeat/ng show/ng hide一部分的项。。等当您只是向DOM中添加一些内容时,ng repeat如何对其设置动画,除非您在容器上切换某些属性(如ng show)并对其应用规则?