2015-12-01 108 views
0

我有以下函數獲取數據$resourse,我想合併輸出數據與$scope.data合併兩個陣列與Angularjs範圍

console.log(sasa) print

[$promise: Promise, $resolved: false] 
    Resource1: 
    Resource2: 
    Resource3: 
    Resource4: 
    Resource5: 
    $promise: Promise 
    $resolved: true 
    length: 5 
    __proto__: Array[0] 

console.log($scope.data); print null

$scope.data=[] 
function getData(){ 
    var sasa= $resource('api/testrecordajaxs/:page/:size', { 
      page : page, 
      size : size 
    }).query(); 
    $scope.data.push.apply($scope.data,sasa); 
    console.log(sasa) 
    console.log($scope.data); 
    return $scope.data; 
} 
+0

評論附近是回答這些問題有幫助嗎? –

回答

0

可以使用.concat合併兩個陣列

$ scope.mergedArray = $ scope.data.concat(輸出);

+0

仍然無法正常工作$ scope.mergedArray print [] –

+0

你可以做一個蹲點 –

0

你沒有給我足夠的信息100%確定,但它看起來像你試圖讀取一個對象的所有鍵,而不是數組的所有值。這真的是你需要的。

for (var key of Object.keys(sasa)) { 
    $scope.data.push(sasa[key]); 
} 

解決辦法是打倒 「THIS」 全部大寫

// $scope.data = [] 
 
var $scope = { data: [] } // initialization just for this demo 
 

 
//function getData(){ 
 
    //var sasa= $resource('api/testrecordajaxs/:page/:size', { 
 
    //  page : page, 
 
    //  size : size 
 
    //}).query(); 
 

 
    // it looks to me like this isn't even an array in your example. 
 
    var sasa = { 
 
    Resource1: 1, 
 
    Resource2: 2, 
 
    Resource3: 3, 
 
    Resource4: 4, 
 
    Resource5: 5 
 
    }; 
 
    
 
    //$scope.data.push.apply($scope.data,sasa); 
 
    
 
    // THIS is what you want 
 
    for (var key of Object.keys(sasa)) { 
 
    $scope.data.push(sasa[key]); 
 
    } 
 
    
 
    console.log($scope.data); 
 
// return $scope.data; 
 
//}