我想同時爲兩個不同的項目使用ng-repeat。 我的意思是,NG重複=「mylist1在列表1 & & mylist2在列表2」AngularJS多重重複
我需要使用重複的列表1和列表2。
如何將ng-repeat用於多個項目?
我想同時爲兩個不同的項目使用ng-repeat。 我的意思是,NG重複=「mylist1在列表1 & & mylist2在列表2」AngularJS多重重複
我需要使用重複的列表1和列表2。
如何將ng-repeat用於多個項目?
我認爲你最好創建一個組合列表。例如(在你的控制器)
$scope.lists = list1.map(function(item, i) {
return {
item1: item,
item2: list2[i] || null
};
});
然後,你可以遍歷這個
<div ng-repeat="item in lists">
<p>list1 item: {{ item.item1 }}</p>
<p>list2 item: {{ item.item2 }}</p>
</div>
或者,你可以只使用$index
來引用list2
相應的項目。
<div ng-repeat="item1 in list1" ng-init="item2 = list2[$index]">
我假設你有兩個列表如下:
mylist1=[1,2,3,4,5]
mylist2=[6,7,8,9,0]
,並要在它們之間迭代使得產生的元素是
[[1,6,], [2,7], [3,8], [4,9], [5,0]]
我建議你在lodash.js(或underscore.js)看看zip - 的功能驚人庫幫助你梳理並保持你的頭髮。
Example:
_.zip(['fred', 'barney'], [30, 40], [true, false]);
// → [['fred', 30, true], ['barney', 40, false]]
在這種情況下:
mergedLists = _.zip(mylist1, mylist2)
ng-repeat="item in mergedLists"
在你的應用程序js文件,你可以指定荏苒兩個列表的結果,然後用NG-重複遍歷在列表中的值。請注意,列表中的每個項目也是一個列表。
你可以利用ng-init
<div ng-repeat="mylist1 in list1" ng-init="i=0;lst2 = list2[i++]">
現在你可以使用LST2
假設他們都是相同的長度,你總是可以通過'mylist2訪問相應的'mylist2'項目[$指數]' – Phil
你想讓它們在同一時間重複嗎?還是你想讓它們一起作爲一個變量重複?我的意思是你想ng-repeat =「mylist1 in list1 && mylist2 in list2」或ng-repeat =「mylist in list1 and list2」? –
我怎樣才能使用$ index?你能解釋更多嗎? – user4773604