我使用ngRepeat进行间隔推送,但我使用相同的模型(具有更改值)。这是一种在模型更改时不更新ngRepeat值的方法吗? 例如:
$scope.example = 5;
$scope.exampleArray = [];
$scope.pushExample = function() {
$scope.exampleArray.push($scope.example);
}
在HTML中只是简单的ngRepeat on exampleArray。我们假设我们调用了 pushExample(),现在我们的观点是:
5
现在我们将 $ scope.example 更改为6并再次调用 pushExample()。现在的观点是:
6
6
但我希望收到:
5
6
如何实施?
更新:
HTML实现:
<ul><li ng-repeat="example in exampleArray track by $index">{{example}}</li></ul>
答案 0 :(得分:2)
您遇到问题,因为您使用的是同一个变量名example
。您只需要更改名称:
<ul><li ng-repeat="ex in exampleArray track by $index">{{ex}}</li></ul>
example
已经是范围内的变量集,因此显示而不是数组项。
答案 1 :(得分:0)
执行$scope.exampleArray.push(angular.copy($scope.example))
推送新引用应该可以解决问题。