ngAnimate不在ui-view

时间:2015-08-23 00:44:24

标签: angularjs angular-ui-router ng-animate

我一直在网上试图找出问题的问题。我似乎无法弄清楚发生了什么。我们的应用程序非常庞大,因此我无法发布令人厌烦的代码。我只需要一些方向,我已经在谷歌上搜索了几个小时。

当我向对象添加新数据时,ngAnimate没有添加ng-enter / ng-leave等类。

当您实际向对象添加/删除数据时,ngAnimate的行为是否相同,或仅在您过滤数据时才起作用?

我们正在使用ui-router,而body是ui-view - 当我们进入ui-view时,ngAnimate的行为是否相同?

简要概述(jade) - 显然我们的应用程序中有更多代码:

body(ui-view)
  script(src='/main.js')
   div(ng-controller="Controller")    
     div.contain
       div.animate(ng-repeat="item in items")
         {{item.name}}

版本:

"dependencies": {
"angular": "1.3.15",
"angular-animate": "latest",
"angular-motion": "~0.4.2",
"angular-ui-router": "~0.2.13",
...

我甚至直接从plunker中复制了脚本,这些脚本在添加ngAnimate类时没有运气。但

这不是CSS问题,因为我甚至看不到检查员中添加的类。

我需要使用某个版本吗?这些需要装入的某些订单?是什么东西可以一起禁用ngAnimate模块?

非常感谢您提出任何建议。

编辑 - 我开始认为这是一个或多个组件之间的不兼容问题 - 任何人都有任何想法?

这是我们的bower.json文件

"dependencies": {
   "angular": "1.3.15",
   "angular-animate": "1.4.3",
   "angular-motion": "~0.4.2",
   "angular-ui-router": "~0.2.13",
   "angular-cookies": "1.3.10",
   "angular-moment": "latest",
   "lodash": "latest",
   "angular-facebook": "latest",
   "angular-bootstrap": "0.12.0",
   "angular-media-queries": "~0.3.0",
   "angular-slugify": "latest",
   "angular-local-storage": "~0.1.5",
   "angular-resource": "1.3.10",
   "angular-sanitize": "~1.3.10",
   "angular-touch": "~1.3.10",
   "angular-payments": "latest",
   "angular-chosen-localytics": "~1.0.7",
   "angular-lodash": "~0.1.2",
   "angular-slick": "~0.1.18",
   "angular-ui-select": "~0.9.6",
   "angular-socialshare": "~0.0.6",
   "angulartics": "~0.17.2",
   "angular-ladda": "latest",
   "ladda": "./vendor/ladda",
   "angular-gestures": "~0.3.0",
   "ryanmullins-angular-hammer": "~2.1.10",
   "angular-bootstrap-datetimepicker": "~0.3.8",
   "angular-pretty-checkable": "~0.1.5",
   "angular-loading-bar": "~0.7.0",
   "ngImgCrop": "./vendor/ngImgCrop",
   "angular-google-places-autocomplete": "~0.2.5",
   "ng-plangular": "./vendor/ng-plangular",
   "angular-timer": "./vendor/angular-timer",
   "offline": "~0.7.11",
   "angular-swing": "*",
   "angular-strap": "~2.3.1",
   "angulike": "~1.2.0",
   "angular-summernote": "~0.4.0",
   "ckeditor": "~4.5.1",
   "ng-ckeditor": "~0.2.1",
   "angular-file-upload": "~2.1.1",
   "ng-sortable": "~1.3.0"
 },
 "devDependencies": {},
 "resolutions": {
   "angular": "1.3.15"
 }

3 个答案:

答案 0 :(得分:1)

在我的情况下,我不得不将角度动画降级到版本1.3并开始工作。

答案 1 :(得分:0)

我遇到了同样的问题。它可能与在不同时间的同一元素上定义过渡时间动画有关。例如:

.my-div {transition: .1s}

然后在其他地方:

.my-div {animation: slideIn .7s}

我发现过渡时间取代了动画...可能是由于规则特异性水平。由于转换时间较短,ng-animate类似乎无法应用。

答案 2 :(得分:0)

要检查的另一件事是你的动画元素在相关的角度应用程序内。我有同样的问题,并追踪它作为文档正文的直接子项添加的动画元素,其中ngApp元素是所述动画元素的兄弟,类似于:

<body>
    <div id="elementToBeAnimated"></div>
    ...
    <div id="mainApp" ng-app="foo"></div>
</body>

#elementToBeAnimated div由第三方库添加 - 将其容器div更改为#mainApp内部解决了问题。