ng-repeat是否支持递归?

时间:2016-06-21 22:05:30

标签: javascript angularjs json angularjs-ng-repeat

假设我有一个像这样的json: { "data": { "data": { "data": { "set": "1" } } } }

我想使用ng-repeat循环遍历这个json,但是我想要动态循环它,我不知道我将拥有多少数据对象,有时它可能是3,有时它可能是5, 6,7等等。

如何使用ng-repeat循环使用ng-repeat,而不必像数据对象那样多次写入ng-repeat。

在javascript中我会写这样的东西: function loop(data) { if (data.data) { loop(data.data) } }

1 个答案:

答案 0 :(得分:6)

使用您使用的相同功能,并从ng-repeat

中调用它
 <ul>
    <li ng-repeat="v in array">
      {{getValue(v)}}
    </li>
  </ul>

和控制器中的功能如下:

$scope.getValue = function(item){
  if(item.data){
    return $scope.getValue(item.data);
  }else{
    return item.set;
  }
};

以下是工作示例http://codepen.io/mkl/pen/dXOOVo

的链接