0
我正在使用AngularJS進行$ resource調用,以獲取JSON格式的一些值。 我的要求是,我發現需要形式的Javascript數組的模型元素:在AngularJS中將JSON元素轉換爲Javascript數組?
[
[1328983200000, 40],
[1328983200000, 33],
[1328983200000, 25],
[1328983200000, 54],
[1328983200000, 26],
[1328983200000, 25]
];
顯示在海軍報圖。 此信息包含在JSON如下:
{
"marks1":15,
"marks2":20,
"dailyMarks":{
"2013-02-27T07:25:35.000+0000":40,
"2013-03-01T07:25:35.000+0000":33,
"2013-02-26T07:25:35.000+0000":25,
"2013-02-23T07:25:35.000+0000":54,
"2013-03-03T10:12:59.000+0000":26,
"2013-03-02T07:12:59.000+0000":25},
}
其中「dailyMarks」包含我需要的元素。我可以「dailyMarks」轉換爲Javascript數組,但它似乎並沒有工作:(下面是我的控制器代碼)
function MyController($scope, $resource) {
var User = $resource('/marks/fetch?from=:from&to=:to', {from: inStartDate, to: inEndDate}, {
getAll: {method: 'GET', isArray: false}
});
$scope.changeDate = function(fromDate, toDate) {
$scope.marks = User.getAll({from: fromDate, to: toDate});
};
var imarks = User.getAll();
$scope.marks = imarks;
var list = imarks.dailyMarks, arr = [];
for (var key in list) {
arr.push([+new Date(key), list[key]]);
}
$scope.myModel = arr;
};
我在做什麼錯?我在模型中得到空白的arr []。 :(:( 請指引我
有了我分享的代碼,我在$ scope.marks中獲得了價值,並且可以正確顯示它。這部分工作。但我沒有在「myModel」中得到任何答案爲什麼會這樣? – LittleLebowski 2013-03-05 09:54:15
這與異步調用的問題完全相同。你有這樣的代碼:'var imarks = User.getAll();'它立即返回一個空數組。你需要在回調中進行處理。 – 2013-03-05 09:56:35
哦,我明白了。得到它了。非常感謝真棒解釋。我已經花了差不多30分鐘的時間把我的大腦分開了,看看有什麼不對!非常感謝您的展示! :) – LittleLebowski 2013-03-05 10:00:25