如果加载了ngAnimate,则会生成AngularJS ngRepeat注​​释标记

时间:2014-03-11 16:45:34

标签: angularjs angularjs-ng-repeat ng-repeat

编辑:我已经大规模地将项目剥离到最低限度,它似乎与ngAnimate有关。问题重写了相应的。

我有一个问题ng-repeat评论随着时间的推移逐渐增加,所以我最终得到了数百条评论。只有在加载ngAnimate时才会发生这种情况。

版本:

"angular": "1.2.13",
"angular-animate": "~1.2.13"

JS:

'use strict';

var app = angular.module('app', ['ngAnimate']);

app.controller('TestCtrl', function($scope, $interval) {
  $scope.items = []

  $interval(function(){    
    $scope.items = [{
        "name": "Thing 1"
      },
      {
        "name": "Thing 2"
      }];
  },2000);
});

HTML:

<!DOCTYPE html>
<html>
  <head>
    <script src="vendor/angular/angular.js"></script>
    <script src="vendor/angular-animate/angular-animate.js"></script> 
    <script src="js/app.js"></script>       
  </head>
  <body ng-app="app">
    <ul ng-controller="MessagesCtrl">
      <li ng-repeat="item in items">
        {{item.name}}
      </li>
    </ul>
  </body>
</html>

$interval触发Angular在结束<!--end ngRepeat..,之前反复输出</ul>个评论标记时:

<!-- end ngRepeat: item in items -->
<!-- end ngRepeat: item in items -->
<!-- end ngRepeat: item in items -->
<!-- end ngRepeat: item in items -->
<!-- end ngRepeat: item in items -->
<!-- end ngRepeat: item in items -->

(评论数量随着时间的推移无限增加)

从应用中删除ngAnimate可以解决问题。

1 个答案:

答案 0 :(得分:1)

这是Angular 1.2.13中的一个已知错误。它在1.2.14中修复:

https://github.com/angular/angular.js/issues/6403