Angular ng-repeat编译元素

时间:2013-11-01 23:38:08

标签: angularjs

我在编译与非编译模板上使用角色时遇到了一些麻烦。

  <div>
    <condition ng-repeat="condition in conditions"></condition>
  </div>

生成以下HTML:https://gist.github.com/anonymous/2064c92e990a33ffe57e

$scope.conditions发生变化时 - 只有第一次$scope.conditions发生变化 - 此代码在angular.js v1.2.0-2fe5a2d中执行(也不适用于稳定版本,因此升级):

if (block.startNode == nextNode) {
    // do nothing
} else {
    // existing item which got moved
    $animate.move(block.elements, null, jqLite(previousNode));
}

其中block.startNode.nodeName == 'CONDITION'似乎是指预编译的模板。当代码正常运行时 - 每次都是第一次 - block.startNode.nodeName == 'DIV'。在两种情况下,nextNode.nodeName =='DIV',当正常工作时,不会$ animate.move元素完全脱离DOM。这使得模型填充了元素,而视图没有反映这一点。这是一个有角色的错误吗?

还有其他人经历过这个吗?有什么想法吗?

**我应该提到我通过更改对象上的$$ hashKey来“解决”这个问题。是的,我觉得很脏。 **

0 个答案:

没有答案