对数组内的对象进行ng-repeat

时间:2014-04-21 11:28:47

标签: javascript arrays angularjs object

我从后端收到一串字符串数组。 (Java - CXF-RS)

字符串数组中数组的大小从1到n不等。要在我的前端阅读和填充它,我正在使用ng-repeat。

除了一个条件外,一切正常。如果任何字符串数组中只有一个数据,则它将作为Object接收。因此,对于那些条件,ng-repeat失败了。

有解决方法吗?

1 个答案:

答案 0 :(得分:0)

最好的选择是强制服务器每次都返回一个数组。如果不可能,您可以使用以下命令检查返回的数据是否为数组: angular.isArray()

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

如果不是,则将数据推送到ngRepeat正在使用的数组上。

伪代码: 1.从服务器获取数据 2.成功回调初始化您的数组 3.如果返回的数据是数组,则将其分配给您的数组 4.如果没有,则将数据推送到阵列上。

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

我没有检查这段代码是否存在语法错误或是否已将其删除。这只是为了给你一个想法。