我想創建一個包含一些對象
首先數組angular.forEach循環,我從包含的設備列表這樣
[
{accountID : "sysadmin",deviceID : "123"},
{accountID : "sysadmin",deviceID : "3"}
...
]
然後服務器的第一陣列我創建包含一些對象,每個對象表示的裝置(設備ID)的第二陣列和包含該裝置,我從服務器獲取的事件的數組
我第一陣列這樣在做一個循環:
$scope.myArrayofDevices = [];
angular.forEach(response, function(device){
$scope.myObject={};
$scope.myObject.device = device.deviceID;
$http.get('events')
.success(function (data) {
$scope.myObject.events = data;
});
$scope.myArrayofDevices.push($scope.myObject);
});//end for loop
我正確地從服務器獲取事件數據。
但是,當我檢查$scope.myArrayofDevices
陣列我得到的只有設備ID的第一個對象,並沒有事件陣列,並與設備ID和事件數組的第二個對象正確
這樣的:
[
{deviceID : 123, events:},
{deviceID : 3 , events : array[5]}
]
如何我可以解決這個問題嗎?
請注意,我試圖將數組分配給$scope.myObject.events
它完美的問題是使用具有$ HTTP循環
嘗試定義在foreach回調函數內一個新的變量'myObject'。使用'var myObject = {}'而不是'$ scope.myObject = {}' – Titus
謝謝@Titus你的想法解決了我的問題 – Taha