所以我可以很好地访问我的数组值:
$scope.checkVal = myArray[0].Value;
我想总结一下我的数组中的值的总和:
$scope.sumByYear = function () {
var yearTotal = 0;
for (var i = 0; i < myArray.length; i++) {
yearTotal += myArray[i].Value;
}
return yearTotal;
}
这是我的Html指令:
<div ng-app="myApp" ng-controller="myCtrl">
<div> {{sumByYear | currency}} </div>
</div>
没有返回任何内容。我错过了什么?
答案 0 :(得分:3)
由于sumByYear
是一个函数,您需要调用它:
<div>{{sumByYear() | currency}}</div>
但是,如果可能的话,最好在控制器中预先计算动态值,并避免在HTML中执行函数。
答案 1 :(得分:3)
sumByYear是函数指针而不是值,所以如果你想获得一个值,你需要调用它。
HTML(在我的示例中,请注意yearTotal
而不是sumByYear
):
<div ng-app>
<div ng-controller="ClickToEditCtrl">
<div ng-hide="editorEnabled">
{{title}} {{ yearTotal | currency }}
<a href="#" ng-click="editorEnabled=!editorEnabled">Edit title</a>
</div>
<div ng-show="editorEnabled">
<input ng-model="title">
<a href="#" ng-click="editorEnabled=!editorEnabled">Done editing?</a>
</div>
</div>
</div>
JS(再次注意yearTotal
而不是sumByYear
):
function ClickToEditCtrl($scope) {
$scope.title = "Welcome to this demo!";
$scope.yearTotal = 0;
var myArray = [1,2,3,4,5];
for (var i = 0; i < myArray.length; i++) {
$scope.yearTotal += myArray[i];
}
}
答案 2 :(得分:2)
sumByYear
必须为sumByYear()
。 sumByYear是一个函数