我的问题类似于this one和this one,但涉及AngularJS 1.2.0中的新动画。
基本上,我的注册页面上有一堆元素最初是隐藏的,只有在特定表单元素无效时才显示(它们指向无效的表单元素并显示“密码需要至少为8”的消息字符“)。这些消息在显示/隐藏时淡入和淡出。
但是只要显示注册页面,元素就会可见并淡出。它们是短暂可见的(它们在屏幕上“闪烁”或“闪烁”,就像需要使用ng-cloak的情况一样)。
Here's是一名能够证明我正在经历的行为的掠夺者。在这个plunker中,我设置了一个基本路线(“登录”页面),其中包含一个框和一个切换框的可见性的按钮。注意单击运行时盒子如何淡出?它应该被隐藏起来。 (我故意将动画设置得很慢,这样你就可以看到动画发生了。)
如何阻止动画最初发生?
我尝试了什么:
ng-cloak
。ng-cloak
规则的情况下使用display: none !important
。 (见this)display: none
,就好像它是元素的“初始设置”一样。 (见this)有趣的是,this plunker行为正常,动画最初不会发生。 此plunker不使用路由,控制器明确设置在body标签上。我想使用路由。
答案 0 :(得分:1)
您正在使用的角度版本存在问题。 Angular animate在1.2中改变了很多,所以试试这个:
<script src="http://code.angularjs.org/1.2.14/angular.min.js"></script>
<script src="http://code.angularjs.org/1.2.14/angular-animate.min.js"></script>
<script src="http://code.angularjs.org/1.2.14/angular-route.min.js"></script>
检查一下,我把你的傻瓜分叉了