Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度ng动画导致模型上的奇怪动画更改_Javascript_Angularjs_Ng Animate_Angularjs Animation - Fatal编程技术网

Javascript 角度ng动画导致模型上的奇怪动画更改

Javascript 角度ng动画导致模型上的奇怪动画更改,javascript,angularjs,ng-animate,angularjs-animation,Javascript,Angularjs,Ng Animate,Angularjs Animation,我目前使用的是angular 1.2 rc3,我的ng重复项目使用了transition。 然而,我发现每当我为ng repeat更改模型时,转换就会失控。您将看到整个项目列表弹出,然后消失。我想要的只是一个简单的淡出整个列表,然后淡入新项目列表。我怎样才能达到这个效果呢 这是一个可以复制的plunker: 只需添加几行,然后更改模型,您就会看到这种奇怪的行为 谢谢。问题在于,当您切换列表内容时,新元素会立即插入顶部,并占用一些空间,尽管它们还不可见。一个改进可能是设置高度动画,例如参见 另一种

我目前使用的是angular 1.2 rc3,我的ng重复项目使用了transition。 然而,我发现每当我为ng repeat更改模型时,转换就会失控。您将看到整个项目列表弹出,然后消失。我想要的只是一个简单的淡出整个列表,然后淡入新项目列表。我怎样才能达到这个效果呢

这是一个可以复制的plunker: 只需添加几行,然后更改模型,您就会看到这种奇怪的行为


谢谢。

问题在于,当您切换列表内容时,新元素会立即插入顶部,并占用一些空间,尽管它们还不可见。一个改进可能是设置高度动画,例如参见


另一种解决方案是在完全切换列表内容时延迟enter动画。首先,现在的元素消失了,然后新的元素出现了。但是,您可能需要在整个列表中附加一个额外的类,以便在CSS中进行区分。并且您必须在切换动画前后手动处理类的添加和删除,因为ng repeat无法区分切换操作和单个元素的添加或删除。

该示例似乎在FF中不起作用。Chrome看起来不错。@lex82该示例在FF中不起作用,因为我没有为mozila添加转换前缀,在css中添加:-moz transition:1s应该可以修复它。:)我想我会把你的答案记下来,因为我实际上也发现了这个问题并不是一个真正的bug。请参阅deakster对预期行为的评论。我正在制作一个类似的动画,并为我的问题找到了另一个很好的解决方案:当列表中的所有项目都被交换时,我会制作列表的动画,而不是项目的动画。旧列表消失在右侧,新列表从左侧进入。更复杂的实现,但看起来不错!