我有一個奇怪的問題TypeError: Cannot read property 'allowed' of undefined
最後一個元素在$scope.leaveType
。TypeError:無法讀取屬性,但屬性存在
更新:
由於@dusky它解決了這一問題,但現在我得到以下控制檯錯誤,但應用程序是在這裏工作是截圖
控制器的完整代碼here
它似乎沒有得到$scope.myLeaves[id]
$scope.myLeaves = { "1": 18, "2": 12, "3": 0, "4": 0, "5": 1, "6": 1, "7": 1};
請幫助我在這裏錯過了。
$scope.leaveType = [
{ "id": "1", "name": "Paid Leave", "allowed": 18},
{ "id": "2", "name": "Caual Leave", "allowed": 12},
{ "id": "3", "name": "Maternity Leave", "allowed": 0},
{ "id": "4", "name": "Paternity Leave", "allowed": 0},
{ "id": "5", "name": "Celebration Leave", "allowed": 1},
{ "id": "6", "name": "Compensatory Off","allowed": 1},
{ "id": "7", "name": "Optional Holiday Leave", "allowed": 1}
];
$scope.myLeaves = { "1": 18, "2": 12, "3": 0, "4": 0, "5": 1, "6": 1, "7": 1};
$scope.taken = function (index) {
var allowed = $scope.leaveType[index].allowed,
leaveTypeId = $scope.leaveType[index].id,
taken = (parseFloat(allowed,10)) - (parseFloat($scope.myLeaves[leaveTypeId], 10));
return taken;
}
//Get remaining leaves in a category
$scope.remaining = function (index) {
var allowed = $scope.leaveType[index].allowed,
leaveTypeId = $scope.leaveType[index].id,
remain = (parseFloat(allowed,10)) - $scope.taken(leaveTypeId, allowed);
return remain;
}
這裏是Plunker
'依然= ... - $ scope.taken(leaveTypeId ,允許);',但是'leaveTypeId = $ scope.leaveType [index] .id;':no,'$ scope.leaveType [7]'不存在。 – Blackhole 2014-11-25 09:57:23
我從'$ scope.myLeaves = angular.fromJson($ scope.leaveSummary.allocation);'從存儲爲字符串的db獲取'myLeaves',它能否成爲'TypeError:Can not read property'1'的原因未定義'7' – Saqueib 2014-11-25 10:52:10