2017-09-15 26 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时,它将再次循环并从单个对象中移除数组包装。

相关问题