3

我有一组值,其结构可以假设为

var a = [{id:1, value:12, name="one"}, {id:2, value:34, name="two"},...]

我想在一系列控件中显示它,以便用户可以更改值。但是我也想显示显然不应该改变的原始值。
我发现了一种可行的方法,我的代码使用 ng-init 是这样的

 <div ng-repeat="p in a">
  <div class="control-group" ng-if="p.value>0">
    <label class="control-label" ng-bind="p.name"></label>
    <div class="controls controls-row" ng-init="v=p.value">
      <input class="span1" value="{{v}}"/>
      <input type="number" ng-model="p.value" class="span2" />
    </div>
  </div>
</div>

作为 angularjs 的一个完整的新手,我不知道这可能会产生什么影响,因为我在考虑 $watch 和性能方面几乎没有经验。

这样做可以吗?

4

1 回答 1

0

但是我也想显示显然不应该改变的原始值。

使用angular.copy(/* array */). 它将创建旧数组的新副本(实例)。

BTWa集合必须定义为$scope.a

演示Fiddle

于 2013-11-29T06:57:52.890 回答