angularjs ng-repeat 使用索引而不是名称
angularjs ng-repeat using index rather than names
我使用 ng-repat 用数组填充 html table。
我在规范化数组中每个 属性 的命名时遇到问题。
一些用户非常固执,如果可能的话,现在我必须找到一个快速的解决方法。
我的数组 AgendaItems 有时会像这样:
{"Agenda Item":"1","Legistar ID":"62236","Title":"Approval of Minutes","Meeting ID":"49837"}
其他时间如:
{"AgendaItem":"1","LegistarID":"62236","Title":"Approval of Minutes","MeetingID":"49837"}
html:
<tbody ng-repeat="ai in AgendaItems">
<tr>
<td>{{ai.MeetingID}}</td>
<td>{{ai.AgendaItem}}</td>
<td>{{ai.LegistarID}}</td>
<td>{{ai.Title}}</td>
</tr>
</tbody>
有没有一种方法可以使用索引值来代替,例如:ai.[i]
这样我就不必担心列的名称是否带有 space?
非常感谢任何帮助。
谢谢,
埃拉斯莫
您可以在 ng-repeat
中隐式访问指令自动提供的范围属性,例如 $index
。
但是,在遍历 对象 而不是数组时使用 $index
是相当值得怀疑的。
您似乎追求的是一种遍历对象的键和值的方法,这毫无疑问,实际上 ng-repeat
也通过 "(key, value) in object"
语法支持它。 名称key
和value
是任意的。
这是这样写的:
首先,对于单个 agendaItem
、ai
<div>
<div ng-repeat="(key, value) in ai">{{key}}: {{value}}</div>
</div>
其次,在问题的上下文中
<tbody ng-repeat="ai in AgendaItems">
<tr>
<td ng-repeat="(key, value) in ai">{{value}}</td>
</tr>
</tody>
我使用 ng-repat 用数组填充 html table。
我在规范化数组中每个 属性 的命名时遇到问题。
一些用户非常固执,如果可能的话,现在我必须找到一个快速的解决方法。
我的数组 AgendaItems 有时会像这样:
{"Agenda Item":"1","Legistar ID":"62236","Title":"Approval of Minutes","Meeting ID":"49837"}
其他时间如:
{"AgendaItem":"1","LegistarID":"62236","Title":"Approval of Minutes","MeetingID":"49837"}
html:
<tbody ng-repeat="ai in AgendaItems">
<tr>
<td>{{ai.MeetingID}}</td>
<td>{{ai.AgendaItem}}</td>
<td>{{ai.LegistarID}}</td>
<td>{{ai.Title}}</td>
</tr>
</tbody>
有没有一种方法可以使用索引值来代替,例如:ai.[i] 这样我就不必担心列的名称是否带有 space?
非常感谢任何帮助。
谢谢, 埃拉斯莫
您可以在 ng-repeat
中隐式访问指令自动提供的范围属性,例如 $index
。
但是,在遍历 对象 而不是数组时使用 $index
是相当值得怀疑的。
您似乎追求的是一种遍历对象的键和值的方法,这毫无疑问,实际上 ng-repeat
也通过 "(key, value) in object"
语法支持它。 名称key
和value
是任意的。
这是这样写的:
首先,对于单个 agendaItem
、ai
<div>
<div ng-repeat="(key, value) in ai">{{key}}: {{value}}</div>
</div>
其次,在问题的上下文中
<tbody ng-repeat="ai in AgendaItems">
<tr>
<td ng-repeat="(key, value) in ai">{{value}}</td>
</tr>
</tody>