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

Javascript AngularJS-ngRepeat具有多种对象类型,javascript,dom,polymorphism,angularjs,rendering,Javascript,Dom,Polymorphism,Angularjs,Rendering,我有一份物品清单。一个项目可以是很多东西,比如说这个列表是这样的: [userObject , vehicleObject , userObject , animalObject , animalObject] 现在,我想使用ngRepeat指令呈现列表,该指令将根据对象的类型使用模板(多态呈现)。这能做到吗 可能类似于(ng use是一个假设的指令): {{item.link} {{item.name} 尽管它没有使用ng开关,但它确实解决了@DotNetHaggis指出的没有类

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

[userObject , vehicleObject , userObject , animalObject , animalObject]
现在,我想使用ngRepeat指令呈现列表,该指令将根据对象的类型使用模板(多态呈现)。这能做到吗

可能类似于(ng use是一个假设的指令):

  • {{item.link} {{item.name}

  • 尽管它没有使用ng开关,但它确实解决了@DotNetHaggis指出的没有类型字段的问题

    <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>
    
    
    用户信息
    车辆信息
    动物信息
    
    还有一件事。。。你能合并案例吗,意思是当=“'user'| |'animal'”时像ng switch这样的东西?不,你不能这样做。顺便说一句,当使用
    ng开关时,你不应该使用额外的
    '
    (与我的第一个答案相反),angular将属性值作为字符串处理。下面是相关的源代码:谢谢,非常详细。这依赖于item对象有一个字段“type”。。。如果你的对象没有这个呢?
    <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>
    
    <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>