我在计算数组中的总数时遇到问题。当一个新值添加到数组时,应该在视图上更新总数,但我得到一个未定义的错误。
var bowlingApp = angular.module('bowlingApp', []);
//Add bowling points to score
bowlingApp.controller('bowlPoints', function ($scope){
$scope.bowlPoints = []
$scope.addBowlPoints = function() {
if ($scope.bowlPoints.length < 10) {
$scope.bowlPoints.push($scope.enteredPoints);
}
else {
alert("Thanks for playing");
}
};
$scope.total = function() {
var total = 0;
if (scope.bowlPoints < 300) {
for(var i=0; i < $scope.bowlPoints.length; i++) {
total += $scope.bowlPoints[i].amount;
}
return total;
};
};
});
答案 0 :(得分:1)
如果您在Chrome控制台中点击错误消息,则应该能够准确查看错误发生的位置。
未定义的错误通常是尝试访问本身未定义的对象的属性的结果。例如,erdomke说,如果$scope.enteredPoints
没有属性金额,那么$scope.bowlPoints[i].amount
会给你一个未定义的错误。
希望这会有所帮助。我真的建议使用Web浏览器JavaScript控制台来调试代码,它会使事情变得更容易。
答案 1 :(得分:0)
是什么
if (scope.bowlPoints < 300) {
是否可以在不添加.length的情况下以此间接方式获取数组的值或长度? 这里jsbin example没有角度,只有javascript。 Mayby它可以帮助你; - )