我有一个项目列表,一个项目可以是许多东西,我们假设列表长这样:
[userObject , vehicleObject , userObject , animalObject , animalObject]
现在我想使用ngRepeat指令来渲染列表,根据对象的类型使用相应的模板(多态渲染)。这个可以做到吗?
可能会像这样(ng-use是一个假设性的指令):
<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>
ng-switch-when
时,不应该使用额外的''
(与我的第一个答案相反),而且 Angular 将属性值处理为字符串。以下是相关的源代码:https://github.com/angular/angular.js/blob/master/src/ng/directive/ngSwitch.js - Umur Kontacı