Является ли использование ng-init для привязки действительным в угловых js?
У меня есть коллекция значений, структура которых позволяет предположить, что
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 и производительности.
Это нормально?
1 ответ
но с этим я также хотел показать оригинальные значения, которые, очевидно, не должны меняться.
использование angular.copy(/* array */)
, Это создаст новую копию (экземпляр) старого массива.
КСТАТИ a
Коллекция должна быть определена как $scope.a
Демо Фиддл