【发布时间】:2014-02-18 07:01:41
【问题描述】:
我需要在 ng-repeat 中详细说明一些函数,但我无法使用 $watch 函数访问正确的字段。
这是我的代码,但是我以错误的方式访问该字段,导致我未定义的 Javascript 错误。
.html
<body ng-controller="MainCtrl">
<div ng-form="mainForm">
<a ng-click="addNewr1()">Add New r1</a>
<ul>
<li ng-repeat="rb_r1 in currForm.r1" ng-form="subFormr1">
<input type="number" step="0.1" ng-model="rb_r1.runo" name="r_runo" required />
<input type="number" step="0.1" ng-model="rb_r1.rdue" name="r_rdue" required />
<input type="number" step="0.1" ng-model="rb_r1.rsomma"/>
</li>
</ul>
</div>
</body>
.js
var app = angular.module('angularjs-starter', []);
app.controller('MainCtrl', function ($scope) {
$scope.master = {};
$scope.currForm.r1 = [];
$scope.addNewr1 = function (){
$scope.currForm.r1.push({ runo: 0,rdue: 0,rsomma: 0 });};
$scope.$watch('rb_r1.runo + rb_r1.rdue', function (value) {
$scope.rb_r1.rsomma= value;
}, true);
});
所以我找到了一个小提琴并对其进行了修改,我得到了解决方案,但是以有限的方式,因为我必须以静态方式访问该字段。我怎样才能以一种动态的方式做到这一点?
全部!
【问题讨论】:
-
动态是什么意思?
-
如果你看到我的小提琴,我会使用索引访问 ng-repeat 中的字段(
$scope.$watch('formData.socials[0].uno + formData.socials[0].due', function(value){ $scope.formData.socials[0].somma = value});),但我希望只有一个 $watch 函数来处理所有出现的 ng-重复,动态生成
标签: javascript angularjs scope watch formulas