2017-09-15 27 views
1

如果響應中只有一個元素,並且如果響應中有多個元素,則返回一個對象數組,從而獲得單個JSON對象的API。基於angular JS中的對象類型的數據表示

我可以使用JavaScript控制器來簡單地使它始終是一個數組,即使只有一個對象,並通過ng-repeat循環遍歷數組,但問題是我在某些屬性中有相同的問題JSON對象。

我不想更改數據的JSON結構,我可能需要它們通過API更新記錄,所以我正在尋找一種方法來處理Angular 1.x.

有沒有一種簡單的角度顯示方式來顯示數據,而不管它只有一個對象還是一個對象數組?

回答

0

沒有簡單的方法來做到這一點。如果變換一個對象到數組控制器是簡單的:

getSomething(...).then(res => res.length ? res : [res]) 
       .then(resArr => $scope.somethings = resArr); 
+0

他說在'''res'''上有相同情況的嵌套屬性(可以是數組或對象)。這並沒有解釋這一點。 – jlogan

0

我想你將不得不修改你要回響應。否則,您將不得不在整個視圖邏輯中進行大量尷尬的逐案檢查。

您可能需要在控制器和「翻譯」JSON數據的API之間建立一個服務層。所以,在請求數據時,它會遞歸地循環遍歷響應,並將所有單獨的對象包裝在數組中。

然後,將數據發佈到API時,它將再次循環並從單個對象中移除數組包裝。

相關問題