我有一個數組,如:
$scope.items = [];
$scope.items[0] = {val1: 1, val2: 2}
我試圖使用NG-重複這樣的:
<div ng-repeat = "item in items[0]"> {{item.val1}} </div>
它是正確的如何使用這個?感謝:D !
我有一個數組,如:
$scope.items = [];
$scope.items[0] = {val1: 1, val2: 2}
我試圖使用NG-重複這樣的:
<div ng-repeat = "item in items[0]"> {{item.val1}} </div>
它是正確的如何使用這個?感謝:D !
items[0]
不是一個數組,但對象,所以你需要使用(key, value) in expression
符號(見docs)遍歷對象屬性:
<div ng-repeat="(key, value) in items[0]">{{key}} {{value}}</div>
取決於什麼是你想要的目的。看,有兩件事情需要迭代(它可以是有意義的迭代或者,根據您的需要):數組的
爲了迭代陣列的元素,可以使用:
<div ng-repeat = "item in items"> {{item.val1}} </div>
在這種情況下,item
將所述陣列的所述當前元素,和上面的語句將打印的每次val1
屬性數組中的元素。
要遍歷對象的屬性,使用:
<div ng-repeat = "item in items[0]"> {{item}} </div>
這將打印數組的第一元素的每個屬性。 items[0]
是一個對象,你通過它的屬性迭代在這裏(所以item
納克重複內將引用屬性)。因此,它是沒有意義的寫item.val1
,因爲item
將1
(在你的例子),而不是一個目標,而是一個原始。
當然,你也可以遍歷每個數組元素的每個屬性,通過結合兩個:
<div ng-repeat = "item in items">
<div ng-repeat = "prop in item">{{prop}} </div>
</div>
這將打印每個項目的每個屬性在數組中。
決定使用哪一個取決於你的使用情況。
謝謝您的回答,究竟是什麼鍵和值?在我的範圍項目y有另一個範圍,這是mi問題的原因:D – Luis
最後這是我的解決方案,我做了這樣的事情: