2015-06-25 37 views
1

我有以下數組和代碼,但我卡住了。 ng-repeat在這個數組上不起作用(對於其他作用域,它工作正常)。我錯過了一些東西,但我不知道它是什麼。ng-repeat不適用於multidimonsional陣列

例msgArray(數組是動態創建的,我複製這個瀏覽器從控制檯)

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

HTML代碼

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

回答

3

這不是一個數組,但與陣列屬性的對象。 ng-repeat的語法(k, v)迭代對象的每個屬性,其中k作爲鍵,v作爲值。如果你要顯示的每個值的第一元素,你會做這樣的事情:

<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

+0

我只想名字被顯示 –

+0

似乎工作:http://plnkr.co/edit/jnnvYxVCiHOEnkU4b2Iv?p=preview有可能是另一個問題你的代碼不存在於你的問題中 –