Angular如何在视图中不更新值

时间:2016-01-26 20:45:47

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

我使用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>

2 个答案:

答案 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))推送新引用应该可以解决问题。