ng-repeat对多维数组不起作用

时间:2015-06-25 14:33:53

标签: arrays angularjs object

我有以下数组和以下代码,但我卡住了。 ng-repeat不能在这个数组上工作(对于其他范围,它工作得很好)。我错过了什么,但我无法弄清楚它是什么。

示例msgArray(数组是动态创建的,我是从浏览器控制台复制的)

[john: Array[0], Carl: Array[2]]

html代码

<ul>
    <li ng-repeat='(k, v) in msgArray'>{{ k }}</li>
</ul>

1 个答案:

答案 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>

http://plnkr.co/edit/jnnvYxVCiHOEnkU4b2Iv?p=preview

Also see the ng-repeat documentation on this