2014-04-21 60 views
0

我正在從我的後端接收一個字符串數組數組。 (Java - CXF-RS)對於陣列內部對象ng-repeat

字符串數組中的數組大小從1到n不等。要在我的前端閱讀並填充它,我正在使用ng-repeat。

除了一個條件,一切正常。如果任何字符串數組中只有一個數據,它將作爲Object接收。因此,ng-repeat對於這些條件是失敗的。

是否有解決此問題的解決方法?

+4

改變你的後端,所以它只返回一個數組。 – Hatsjoem

+0

如果你不能改變你的後端,然後在響應後將其轉換爲數組。 – Anoop

+0

是的,我已經這樣做了,但我想知道這是否是正確的方式,或者如果有更好的方法。 – user3359041

回答

0

最好的選擇是強制服務器每次都返回一個數組。如果這是不可能的,你可以檢查,如果返回的數據是使用一個數組: angular.isArray()

https://docs.angularjs.org/api/ng/function/angular.isArray

,如果不是的話,那麼數據推到陣列的ngRepeat使用。

僞代碼:從服務器 2.在成功回調 1.獲取數據初始化數組 3.如果返回的數據陣列,將其分配給您的陣列 4.如果不是,然後將數據推送到您的陣列。

$http.get('url', function(data) { 
    $scope.items = []; 
    if(angular.isArray(data) { 
    $scope.items = data; 
    } else { 
    $scope.items.push(data); 
    } 
}); 

我還沒有檢查語法錯誤此位的代碼或LINTED它。這只是給你一個想法。

+0

採取了這個想法,它的工作就像一個魅力!謝謝! – user3359041