【发布时间】:2013-12-10 04:31:26
【问题描述】:
测试用例:http://plnkr.co/edit/dsG3gxFomAK8Q15Xfouj?p=preview
上面的测试用例是使用ng-repeat 指令两次呈现的数据列表。一次不使用ng-include,一次使用ng-include。
为ng-repeat 指令支持的所有三个动画(enter、leave 和 move)设置了 CSS 过渡。当 not 使用 ng-include 时,所有三个动画都可以正常工作,但只有 enter 动画在使用 ng-include 加载列表中每个项目的模板时工作。
我很确定这是angular-animate 的错误,但不确定。使用 ng-repeat 和 ng-include 组合时,我可能做错了什么。我尝试挖掘angular-animate 源代码并解决问题,但不能。我所想的(希望是真的)是ng-include 指令在ng-repeat 呈现的每个项目上方添加了一个注释节点,并且该节点正在摆脱angular-animate 的工作。这也是两个实现之间唯一明显的区别。
还请注意,当没有设置动画时,所有功能都可以正常工作。但是在使用ng-include 的示例中,不仅动画(用于向上或向下移动项目)搞砸了,而且项目甚至都没有移动。
这是一个错误吗?如果是这样,是否有已知的解决方法?我尝试在 github 上搜索 angular.js 的问题,但找不到解决方法(我发现的那些不起作用)。感谢您对此提供的任何帮助。
【问题讨论】:
标签: javascript angularjs angularjs-ng-repeat ng-animate angularjs-ng-include