看看这个plunker http://plnkr.co/edit/iOqhKPMKbwkeYIhf2m2j?p=preview
有没有办法从带有角度的DOM中显示的getSum()中获取结果值,以便在另一个函数中使用?我需要使用jquery吗?
编辑:新的plunker
答案 0 :(得分:1)
不,你这里不需要jQuery。
实际上,您可以在控制器的任何位置访问getSum()
,例如: G:
var test = $scope.getSum();
console.log(test);
答案 1 :(得分:1)
您可以在getSum()
功能中致电displaySum
:
$scope.displaySum = function(){
//code to get result from getSum
var sum = $scope.getSum();
//do something with sum here
};
你可以将getSum()
的值分配给范围内的变量
$scope.sum = $scope.getSum();
并将您的html绑定到$scope.sum
而不是$scope.getSum()
,然后从$scope.sum
内访问$scope.displaySum
,但是如果总和的范围不会自动更新,如果你的体重会发生变化。
请查看此plunker以查看其是否有效。
此外,如果你的权重是可编辑的,你会希望将它们存储为一个对象数组而不仅仅是一个整数数组。否则,ng-repeat中的绑定将无法正确更新。
概括您的getSum
功能,将line
作为参数。然后在你的ng-repeat中你可以这样称呼它:
getSum(line)
同样,您可以这样调用displaySum
:
displaySum(lines[0])
您实际上甚至不需要displaySum
。只显示这样的总和
<div>Sum value from line1:{{getSum(lines[0])}}</div>
<div>Sum value from line2:{{getSum(lines[1])}}</div>
<div>Sum value from line3:{{getSum(lines[2])}}</div>
或者更好
<div ng-repeat="line in lines">
Sum value from line{{$index+1}}:{{getSum(line)}}
</div>