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 */)ます。古い配列の新しいコピー (インスタンス) を作成します。

ところでa、コレクションは次のように定義する必要があります$scope.a

デモFiddle

于 2013-11-29T06:57:52.890 に答える