i<myData.length
警报工作正常,但当代码到达while循环时,它会立即转到angularjs异常处理程序。有什么想法吗?
$scope.makePDF = function () {
//window.alert($scope.myData.length);
var doc = new jsPDF();
doc.text(20, 30, "Table");
var i = 0;
window.alert(i < $scope.myData.length);
while (i < $scope.myData.length) {
window.alert(i < $scope.myData.length);
doc.text(20, 40, $scope.myData[i]["pit"] + "-" + $scope.myData[i]["game"] + "-" + $scope.myData[i]["table"]);
i++;
var isTrue = i < scope.myData.length;
}
// Save the PDF
doc.save('Test.pdf');
};
这是我得到的错误输出。说实话,我从中得不到多少。如果有人能从中理解更多,那将是很好的(同样,stackoverflow让我取出链接):
ReferenceError:未定义范围
at Scope.$scope.makePDF
at angular.js:9943:21
at angular.js:17611:17
at Scope.$eval angular.js:11634:28
at Scope.$apply angular.js:11734:23
at HTMLButtonElement.<anonymous> angular.js:17610:21
at HTMLButtonElement.jQuery.event.dispatch jquery-1.9.1.js:3074:9
at HTMLButtonElement.elemData.handle jquery-1.9.1.js:2750:46 angular.js:9159
(anonymous function) angular.js:9159
(anonymous function) angular.js:6751
Scope.$apply angular.js:11736
(anonymous function) angular.js:17610
jQuery.event.dispatch jquery-1.9.1.js:3074
elemData.handle
答案 0 :(得分:1)
在第一个站点,您似乎正在使用字符串值访问多维数组的第二维。不确定是否有效。
如果myData是一个对象数组,那么你需要像
这样的东西myData[i].pit
如果是二维数组,则需要myData[i][j]
,其中i和j是基于零的索引器。