鉴于JSON响应:
[
{ type: 'A', name: 'Clem', created_at: '...', ... },
{ type: 'B', url: 'http://go.gl/H65Fs90x', created_at: '...', ... },
{ type: 'C', city: 'Berlin', created_at: '...', ... }
]
哈希已经简化;认为它比这个例子更复杂。
如何使用ngRepeat呈现此异构对象集合?
<li ng-repeat="object in objects">
// if object is of type A then render fields of object
// if object is of type B then render fields of object
</li>
这有更好的方法吗?还有什么“Angular-ish”?
答案 0 :(得分:2)
如果您有两个以上的条件或结构更复杂,那么这样的事情(代码未经过测试)
<li ng-repeat="object in objects">
<span ng-if="object.type == 'A'">{{object.name}}</span>
<span ng-if="object.type == 'B'">{{object.url}}</span>
<span ng-if="object.type == 'C'">{{object.city}}</span>
</li>
答案 1 :(得分:2)
实现此目的的一种方法是使您绑定的项目负责了解它们的呈现方式。这可以简单到为每个项目提供templateUrl。以下是此技术的示例:http://jsbin.com/EhAnIMaJ/2/edit?html,js,output