如何使用ng-repeat迭代数组的对象属性?

时间:2014-06-07 19:36:25

标签: javascript html angularjs

我得到了一个包含类似于:

的对象的数组
{
    _id:       "0",
    category: "ptr",
    price:    14.5
}

所以我用这种方式打印 HTML表格

<tr ng-repeat="product in products.categoryQuery">
    <td>{{product._id}}</td>
    <td>{{product.category}}</td>
    <td>{{product.price}}</td>
</tr>

queryCategory作为包含我的对象的数组。我想知道是否可以减少HTML并在ng-repeat处添加 <td> 指令来迭代对象的属性。

我试过了:

<td ng-repeat"p for p in product">{{p}}</td>

<td ng-repeat"p for p in product">{{product[p]}}</td>

但没有结果。我怎么能实现它?

编辑。

正如评论家所说,当它有一个单一对象时,就会有这种选择:

<tr ng-repeat="(key, value) in data">
  <td> {{key}} </td> <td> {{ value }} </td>
</tr>

但是当他们是数组中的几个对象时,我该如何使用它呢?

1 个答案:

答案 0 :(得分:-1)

查看此问题中的回复:How to use ng-repeat for dictionaries in AngularJs?

基本上,您应该能够遵循(k, v) in expression语法(请参阅参数部分中的https://docs.angularjs.org/api/ng/directive/ngRepeat

我要说的一件事是,密钥的顺序可能不符合您的预期,这可能会导致问题:Elements order in a "for (… in …)" loop