javascript – ng-show与ng-animate无法正常工作

加载animate模块后,ng-show不起作用. ng-show expression的默认值为false,但仍显示元素且缺少类ng-hide.如果我卸载动画模块,那么它工作正常.

<script>
var app=angular.module('app', ['ngRoute','ngCookies','infinite-scroll','ui.mask','ngAnimate']);
</script>

最佳答案 我有同样的问题,这可能是一个时间问题,但有一个解决方法.

简而言之,“class”属性中定义的类与插值之间存在一些冲突,而同一元素上的其他指令试图添加另一个类.删除class =“{{:: item.customClass}}”获取ng-class和ng-show指令才能正常工作.

我不能在一个plunker上重现它,可能是因为涉及大量的组件.我们使用$templateCache服务,ngAnimate模块和一个使用ng-repeat与动态类和ng-show的指令(以及更多,似乎不会影响问题).删除任何提到的那些已解决了这个问题.
有一件事我没有尝试,并试图从ui-view层次结构中分离代码,也许ui-router是问题的一部分.

调试显示在ng-class / ng-show的监视执行之后,添加了正确的类,它看起来像这样:class =“{{:: item.customClass}} ng-hide”,但是在摘要的最后它看起来像这样:class =“myCustomClass”.我想这也是你的代码中发生的事情.

我处理这种情况的方法是将item.customClass移动到ng-class,如下所示:ng-class = [{… other classes},item.customClass]

这是一种解决方法而不是真正的解决方案,因为:

>这可能是Angular代码中的一个真正问题.
>我不知道如何在这里使用bind,当然这很重要.

点赞