我可以通过索引而不是名称来引用ngRepeat中的项目

时间:2015-02-20 20:38:27

标签: javascript angularjs

我在寻找的是取代它:

<tr ng-repeat="travel in travelList">
   <td>
      {{travel.travelerId}}
   </td>
   <td>
      {{travel.travelerName}}
   </td>
</tr>

有类似的东西:

<tr ng-repeat="travel in travelList">    
   <td>
      {{travel[0]}}    
   </td>    
   <td>
      {{travel[1]}}    
   </td> 
</tr>

TravelList内旅行列表的数据结构如下:

public class Travel
{
        public int TravelId { get; set; }
        public string TravelerId { get; set; }
        public string TravelerName { get; set; }
        public string TravelerEmail { get; set; }
        public string RecruiterId { get; set; }
        public List<Itinerary> Itinerary { get; set; }
}

请指教。

2 个答案:

答案 0 :(得分:2)

是的,使用$index(在ngRepeat范围内创建)

{{travelList[$index]}}

答案 1 :(得分:2)

没有。这不是JS对象的工作方式。 someObj[key]是有效的语法,但除非您明确设置键的值(如someObj[0] = 'foo'),否则结果是未定义的。

如果您要迭代每个travel的属性,则需要第二个ng-repeat,例如<td ng-repeat='(key, value) in travel'>{{travel[key]}}</td>,但您可能只需使用{{value}},除非你希望在标题行或类似的东西中使用键作为标签。