Angularjs ng-repeat如何获取对象键名称?

时间:2015-12-23 16:57:08

标签: angularjs-ng-repeat

我正在使用Angularjs来搜索和显示存储在documentDB中的数据。我有一个使用IHttpActionResult提供数据的Web Api 2(.net)。

当我查看$ http返回的数据时,我可以看到结构符合预期,返回的文档的一个属性称为标识符,是键值对类型场景中不同标识符的集合......见下文..

 "identifiers": {
  "sourceid": null,
  "secondaryid": null,
  "name": null,
  "anotherid1": null,
  "anotherid2": "412417118",
  "etc": null
},

显然,我的实际数据对于用以上通用名称替换的子标识符有不同的名称......

在我的Html中我使用ng-repeat来显示每条记录的标识符列表,如下所示:

   <tbody>
                <tr>
                    <td >
                        <label>Identifiers: </label>
                    </td>
                    <td >
                        <p ng-repeat="ident in vessel.identifiers"> {{ident}}</p>
                    </td>
                    <td>
                        <label>Start Date: </label>
                    </td>
                    <td>
                        {{ vessel.startdate | date : 'dd/MM/yyyy'}}
                    </td>
                    <td>
                        <label>End Date: </label>
                    </td>
                    <td>
                        {{ vessel.enddate | date : 'dd/MM/yyyy'}}
                    </td>
                </tr>.........

然而,我写的只是每个标识符的值,但没有键或任何东西......我已经尝试将它传递给控制器​​上的函数但是当我这样做时和console.log输入它是字面意思只是字符串值,不再是键/值对.....

如何让它写出密钥和值?

有趣的是,如果我删除了那个<p>标签中的ng-repeat和{{identifiers}},我会将以下内容写出来......

  

{ “的SourceID”:NULL, “secondaryid”:空, “姓名”:NULL, “anotherid1”:NULL, “anotherid2”: “BJ5077”, “anotherid3”:空 “等”:NULL,“ETC2 “:”“}

1 个答案:

答案 0 :(得分:1)

以不同的方式来到它并从stackoverflow帖子中获取灵感(链接here以帮助其他人)这是我的ng-repeat的语法不正确,它应该看起来像这样......当你想到它时显而易见!!!

removeN :: Int -> [a] -> [a]
removeN n xs = take n xs ++ drop (n + 1) xs