我有项目清单。一个项目可以是很多东西,比如说列表是这样的:
[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>
<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>
API参考:http://docs.angularjs.org/api/ng.directive: ngSwitch