Вот этот вариант работает и подходит, но он вырвиглазненько выглядит.
В случае двух уровней ещё более менее, но если три и более уровней, там с ума сойдёшь...
<!DOCTYPE HTML>
<html lang="en" ng-app>
<head>
<title>Test</title>
<script type="text/javascript" src="js/angular/angular.min.js"></script>
<script type="text/javascript" src="js/jquery/jquery-1.10.2.js"></script>
<script type="text/javascript">
function FeaturesListCtrl($scope) {
var GetL2 = function(l1){
rtn = []
$.each(l1, function(i, n){
rtn.push([
n.a + (i + 1).toString() + '_qwe',
n.a + (i + 1).toString() + '_asd'
]);
});
return rtn;
}
$scope.l1 = [
{ a: '1' },
{ a: '2' }
];
$scope.l2 = GetL2($scope.l1);
}
</script>
</head>
<body>
<div ng-controller='FeaturesListCtrl'>
<ul>
<li ng-repeat='level1 in l1' ng-init="outerIndex = $index">
{{level1.a}}
<ul>
<li ng-repeat='level2 in l2[outerIndex]'>
{{level2}}
</li>
</ul>
</li>
</ul>
</div>
</body>
</html>
Есть другие варианты?