创建一个计算值数组,该数组绑定到AngularJS中的其他输入
Create an array of computed values that are bound to other inputs in AngularJS
我有两组输入,每组都绑定到数组中的值。每个数组创建网格的边,网格的交点将表示定义交点的两个输入的一些计算。假设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]}...]
给了我不会更新的交集,每当我试图将intersection[n].val定义为函数时,我都会出错。
编辑
似乎我可以定义
$scope.intersections = [
[function(){return $scope.aArr[0] + $scope.bArr[0]}, function(){return $scope.aArr[0] + $scope.bArr[1]} ... ],
[...],
[...]
];
但我不能定义一个空数组,然后用程序填充它。Firebug抛出类似Error:[$interpolate:interr]
的东西。。。
有什么想法吗?
如果要在对象或对象值发生更改时进行一些计算,请使用WATCH
函数。
参见此小提琴示例:http://jsfiddle.net/imhassan66/x6QaY/
在本例中,我将添加两个数组的第一个值。如果您更改这些值,它将更新SUM
。
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);
};
相关文章:
- 如何将angularjs中的javascript字符串输出为循环数组
- angularjs$watch获取已更改数组项的索引
- AngularJS-ng使用字符串索引在数组上重复
- 如何使用angularJS从json的对象数组中显示和计数实体
- angularjs ng基于点击时的数组值重复过滤器
- 使用angularjs数组中的slice
- 从空格分隔的文本创建和实现数组:AngularJS
- json数组angularjs中的自定义过滤器
- 在方法中看不到对象数组.(Angularjs)
- 查找对象数组(Angularjs)中是否存在值
- $scope绑定到空值数组 AngularJs
- 同一数组(AngularJS)中的javascript对象之间的一对一关系
- 编译和传递数组 - AngularJS和PHP
- 如何根据数组AngularJS中的元素更改href
- 通过id过滤数组angularjs的数组
- 查找数组angularjs对象的索引
- 在数组angularjs javascript中选中或取消选中复选框
- 将JSON响应存储在数组angularjs中
- 如何将元素推送到指令中的数组 - AngularJS
- 动态追加值到数组angularjs