一尘不染

AngularJS-具有多种对象类型的ngRepeat

angularjs

我有项目清单。一个项目可以是很多东西,比如说列表是这样的:

[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>

阅读 235

收藏
2020-07-04

共1个答案

一尘不染

<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

2020-07-04