繁体   English   中英

在同一元素上使用ngInclude时,ngRepeat的动画不起作用

[英]ngRepeat's animations don't work when using ngInclude on the same element

测试案例: http//plnkr.co/edit/dsG3gxFomAK8Q15Xfouj?p = preview

上面的测试案例是用ng-repeat指令两次渲染的数据列表。 一次不使用ng-include ,一次不使用ng-include

ng-repeat指令支持的所有三个( 输入离开移动 )动画设置了CSS过渡。 使用ng-include ,这三个动画都可以正常工作,但是当使用ng-include加载列表中每个项目的模板时,只有enter动画可以工作。

我很确定这是angular-animate的错误,但不确定。 使用ng-repeatng-include组合时,我可能做错了。 我尝试挖掘angular-animate源代码并解决问题,但未能成功。 我所想的(希望如此)是, ng-include指令在ng-repeat渲染的每个项目的上方都添加了一个comment节点,并且该节点放弃了angular-animate的工作。 这也是两个实现之间唯一明显的区别。

另请注意,未设置动画时,所有功能都可以正常工作。 但是在使用ng-include的示例中,不仅动画(用于上下移动项目)变得混乱,而且项目甚至都没有移动。

这是错误吗? 如果是这样,是否有已知的解决方法? 我尝试在github上搜索angular.js的问题,但找不到解决方法(我发现的方法不起作用)。 感谢您对此的任何帮助。

但使用ng-include加载列表中每个项目的模板时,只有enter动画有效。

我实际上在Chrome中出现不一致的行为。 有时,移动动画会起作用。

如果是这样,是否有已知的解决方法?

您可以嵌套ng-repeat-ed / ng-include-ed元素,因此指令位于不同的元素上,因此,无论原因如何,都不应有任何冲突。 http://plnkr.co/edit/dVniIVUaGS8y7wHe7CuT?p=preview中的示例

编辑:修复了plnkr链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM