Javascript 创建绑定到AngularJS中其他输入的计算值数组

Javascript 创建绑定到AngularJS中其他输入的计算值数组,javascript,angularjs,Javascript,Angularjs,我有两组输入,每个都绑定到数组中的值。每个阵列创建网格的边,网格的交点将表示定义交点的两个输入的一些计算。假设aArr是行,bArr是列 $scope.aArr = [{val: 1},{val: 1},{val: 1}]; $scope.bArr = [{val: 1},{val: 1},{val: 1}]; 我是否可以创建一个交叉点数组,每当每个定义值更新时,每个交叉点都会更新,然后将该数组与ng repeat一起使用以创建标记 差不多 $scope.intersections = [{v

我有两组输入,每个都绑定到数组中的值。每个阵列创建网格的边,网格的交点将表示定义交点的两个输入的一些计算。假设aArr是行,bArr是列

$scope.aArr = [{val: 1},{val: 1},{val: 1}];
$scope.bArr = [{val: 1},{val: 1},{val: 1}];
我是否可以创建一个交叉点数组,每当每个定义值更新时,每个交叉点都会更新,然后将该数组与ng repeat一起使用以创建标记

差不多

$scope.intersections = [{val: $scope.aArr[0].val + $scope.bArr[0]}...]
提供不更新的交点,每当我尝试将interection[n].val定义为函数时,都会出现错误

编辑 似乎我可以定义

$scope.intersections = [
  [function(){return $scope.aArr[0] + $scope.bArr[0]}, function(){return $scope.aArr[0] +         $scope.bArr[1]} ... ],
  [...],
  [...]
];
但我不能定义一个空数组,然后通过编程填充它。Firebug抛出类似于
错误:[$interpolate:interr]


有什么想法吗?

如果您想在对象或对象值发生变化时进行一些计算,请使用
WATCH
功能

请参阅此小提琴以了解示例:

在本例中,我将两个数组的第一个值相加。如果您更改这些值,它将更新
总和

app.controller('MainCtrl', function ($scope) {

$scope.aArr = [{
        val: 1
    }, {
        val: 2
    }];

    $scope.bArr = [{
        val: 3
    }, {
        val: 43
    }];

    $scope.$watch("aArr", function () {
        $scope.doWorkInArrayChange();
    }, true);

    $scope.$watch("bArr", function () {
        $scope.doWorkInArrayChange();
    }, true);

    $scope.sum = "";
    $scope.doWorkInArrayChange = function () {
        $scope.sum = parseInt($scope.aArr[0].val) + parseInt($scope.bArr[0].val);
    };