AngularJS-ngRepeat avec plusieurs types d'objets
J'ai une liste d'éléments. Un élément peut être un certain nombre de choses, disons que la liste est quelque chose comme ceci :
[userObject , vehicleObject , userObject , animalObject , animalObject]
Maintenant, je veux rendre la liste avec la directive ngRepeat qui utilisera un modèle en fonction du type de l'objet (Rendu polymorphe). cela peut-il être fait?
Peut-être quelque chose comme (ng-utilisation de est un hypothétiquement directive):
<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>
23
demandé sur
Shlomi Schwartz
2013-01-20 18:30:23
2 réponses
<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>
Référence de l'API:
http://docs.angularjs.org/api/ng.directive:ngSwitch
31
répondu
Umur Kontacı
2013-01-20 15:53:35
Bien que cela n'utilise pas ng-switch, il contourne le problème de ne pas avoir de Champ type, ce que @DotNetHaggis a souligné.
<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>
0
répondu
deejbee
2016-02-23 19:46:38