基于角度JS中的对象类型的数据表示

时间:2017-09-15 11:53:45

标签: javascript angularjs json

如果响应中只有一个元素,我有一个API可以返回单个JSON对象,如果响应中有多个元素,则返回一个对象数组。

我可以使用javascript控制器简单地使它总是一个数组,即使只有一个对象,并使用ng-repeat循环遍历数组,但问题是我在JSON的某些属性中有相同的问题对象也是。

我不想更改数据的JSON结构,我可能需要它们通过API更新记录,所以我一直在寻找一种方法来处理Angular 1.x.

是否有一种简单的角度来显示数据,无论它只是一个对象还是一个对象数组?

2 个答案:

答案 0 :(得分:0)

没有简单的方法可以做到这一点。如果将一个对象转换为控制器中的数组,则更简单:

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

答案 1 :(得分:0)

我认为你必须修改你要回复的回复。否则,您将不得不在视图逻辑中分散许多笨拙的逐案检查。

您可能需要在控制器和API之间使用服务层来“转换”JSON数据。因此,在请求数据时,它将循环遍历响应并将所有单个对象包装在数组中。

然后,当将数据发布到API时,它将再次循环返回并从单个对象中删除数组包装。