0

我在编译模板和非编译模板时遇到了一些问题。

  <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 “解决了”这个问题。是的,我觉得很脏。**

4

0 回答 0