There is no easy way to achieve this that I know of. What you would need to do is pre-process the object which is being repeated and assign a counter to it in a loop fashion. I can't think of a way to do this in HTML alone. Also, I don't think this would work with arrays, here is my attempt:
The assumption is that you would sort the objects at some point so that they appear in order:
$scope.something = [
{one: {ten: 10}, eleven: {nine: 9}, hundred: {blue: 100}},
{one: {ten: 10}, eleven: {nine: 9}, hundred: {blue: 100}},
{one: {ten: 10}, eleven: {nine: 9}, hundred: {blue: 100}},
{one: {ten: 10}, eleven: {nine: 9}, hundred: {blue: 100}},
{one: {ten: 10}, eleven: {nine: 9}, hundred: {blue: 100}},
];
var counter = 0;
angular.forEach($scope.something, function(value, index){
//console.log(value);
value.counter = counter++;
angular.forEach(value, function(subValue, subIndex){
//console.log(subValue);
subValue.counter = counter++;
});
});
console.log($scope.something);
HTML:
<ul >
<li ng-repeat="some in something" >
<span > index {{some.counter}}</span>
<ul>
<li ng-repeat="(key, child) in some" ng-if="key != 'counter'" >
<span> index {{child.counter}} </span>
</li>
</ul>
</li>
</ul>
Plunker: http://plnkr.co/edit/98AnSbO2fpdsFuo3hVCz?p=preview