Angular:ng-repeat将值添加到数组中而不是覆盖

时间:2016-06-21 12:14:20

标签: javascript angularjs

我有偏见:

<div class="grid-wrapper">
    <div ng-repeat="phrase in phrases" ng-mobile-click="setChecked($index, phrase.phrase_id)">
        <div class="tile-inner" ng-bind-html="phrase.text"></div>
    </div>
</div>

在控制器中的某个时刻,我在$ scope.phrases中设置了一个新元素:

$scope.phrases[swapHelper.indexToSwap] = newPhrase;
console.log($scope.phrases);

一旦我设置了这个新元素,视图就会更新,但是以一种意想不到的方式:元素被插入到指定的索引处,但是数组的其余部分被推回,因此它还有一个元素。大约100-200ms后,删除了应该替换的旧元素。有人可以解释这种行为以及如何预防吗?

我尝试通过console.logging设置新元素后立即检查数组,但它正确地显示了正确数量的元素并覆盖了旧元素。

0 个答案:

没有答案