我有以下数组和以下代码,但我卡住了。 ng-repeat不能在这个数组上工作(对于其他范围,它工作得很好)。我错过了什么,但我无法弄清楚它是什么。
示例msgArray(数组是动态创建的,我是从浏览器控制台复制的)
[john: Array[0], Carl: Array[2]]
html代码
<ul>
<li ng-repeat='(k, v) in msgArray'>{{ k }}</li>
</ul>
答案 0 :(得分:3)
这不是数组,而是具有数组属性的对象。 ng-repeat的(k, v)
语法迭代对象的每个属性,其中k
为关键字,v
为值。如果要显示每个值的 first 元素,可以执行以下操作:
<li ng-repeat="(k, v) in msgArray">{{ v[0] }}</li>
如果您还需要这样做,您还可以ng-repeat
超过v
(或“消息”,如果您想要更明确)。请注意,如果您确实想要使用密钥,则只需要(k, v)
语法。
<li ng-repeat="messages in msgArray">
<span ng-repeat="msg in messages">{{msg}}</span>
</li>