AngularJS – ngRepeat con múltiples types de objects

Tengo una list de elementos. Un elemento puede ser una cantidad de cosas, digamos que la list es algo así:

[userObject , vehicleObject , userObject , animalObject , animalObject] 

Ahora quiero renderizar la list con la directiva ngRepeat que usará una plantilla de acuerdo con el tipo de object (representación polimórfica). ¿Se puede hacer esto?

tal vez algo así como ( ng-use es una directiva hipotética ):

 <ul> <li ng-repeat="item in items"> <img ng-use="item.type == 'user'" ng-src="item.src"> <a ng-use="item.type == 'vehicle'">{{item.link}}</a> <span ng-use="item.type == 'animal'">{{item.name}}</span> </li> </ul> 

 <ul> <li ng-repeat="item in items" ng-switch="item.type"> <img ng-switch-when="user" ng-src="item.src"> <a ng-switch-when="vehicle">{{item.link}}</a> <span ng-switch-when="animal">{{item.name}}</span> </li> </ul> 

Referencia de la API:
http://docs.angularjs.org/api/ng.directive:ngSwitch

Aunque esto no utiliza ng-switch, soluciona el problema de no tener un campo de tipo , que @DotNetHaggis señaló.

 <div ng-repeat="field in fields"> <div ng-if="field.user !== undefined">user info</div> <div ng-if="field.vehicle !== undefined">vehicle info</div> <div ng-if="field.animal !== undefined">animal info</div> </div>