我使用以下角度代码从列表中获取一个项目。
<span ng-repeat="metro in metros | filter:{id:event.metro_id}">
{{metro.timezone}}
</span>
因此,我有一个metros
列表,我正在过滤id
匹配event.metro_id
的地铁列表。问题是,对于我的场景,我知道总是会有1,只有1,匹配这个过滤器,使用ng-repeat
只是为了得到那个元素感觉很愚蠢。有没有更优雅的方式来做到这一点。我的目标是在HTML模板中完成所有操作,并避免在角度控制器中放置更多代码。
答案 0 :(得分:1)
如果您可以略微修改metros
结构(仅支持您想要的内容),作为属性为id的集合,那么您可以在HTML中执行此操作:
<span ng-show="event.metro_id">
{{metros[event.metro_id].timezone}}
</span>
我的意思是metros
这样:
$scope.metros = {
"25" : {
"timezone" : 25,
"foo" : "bar"
},
"35" : {
"timezone" : 35,
"foo" : "bar"
}
}