You can't use ng-repeat with string/variable that should represent the expression directly, but you can create directive that interpolate/parse this value and pass it to the ng-repeat argument and recompile the element.
app.directive('ngVarRepeat',function($compile){
return {
priority:1001, //must be higher than 1000 (priority of ng-repeat)
compile:function($elm,$attrs){
var expression = $attrs.ngVarRepeat;
$elm.removeAttr('ng-var-repeat'); // remove attribute so we can recompile it later
return function(scope,elm,attrs){
$elm.attr('ng-repeat',scope.$eval(expression));
$compile($elm)(scope);
}
}
}
})
Take a look at this plunker: demo plunker from accepted answer
Also please note, that this approach should cause troubles in nested ng-repeats.