2
A
回答
2
您需要根據用戶的索引對用戶進行分組。最終目標是創建一個數組數組,其中內部數組包含每列的數據。您可以創建一個computed屬性是這樣的:
var viewModel = function() {
var self = this;
self.users = [
{ name: "name 1"},
{ name: "name 2"},
{ name: "name 3"},
{ name: "name 4"},
{ name: "name 5"},
{ name: "name 6"},
{ name: "name 7"},
];
// this array looks: [[user1,user2,user3], [user4,user5,user6]]
self.groupedUsers = ko.computed(function() {
var rows = [];
self.users.forEach(function(user, i) {
// whenever i = 0, 3, 6 etc, we need to initialize the inner array
if (i % 3 == 0)
rows[i/3] = [];
rows[Math.floor(i/3)][i % 3] = user;
});
return rows;
});
};
ko.applyBindings(new viewModel());
而在你的HTML:
<table>
<tbody data-bind="foreach: groupedUsers">
<tr data-bind="foreach: $data">
<td data-bind="text: name">
</td>
</tr>
</tbody>
</table>
$data
這裏是在上下文中的內部陣列。 You can read about binding context here.
CSS選擇:
我不是專家,但這裏的關鍵是你是否爲每個row
一個container
。如果您在每行之間沒有分隔符,則可以使用純粹的css
來實現此目的。您可以在用戶容器上使用float: left
,並根據屏幕大小和容器寬度計算每行用戶數。
如果您使用類似bootstrap
或foundation
這樣的框架,可以使用網格類來提供幫助,可以使用相同的參數。您將包含row
類中的所有column
s,網格會根據您根據設備級要求設置的屏幕大小和自定義col-md
和col-sm
類自動調整。
相關問題
- 1. 爆炸陣列和運行foreach循環
- 2. 多行foreach循環
- 3. 如何在foreach循環中執行?
- 4. For循環和表列/行
- 5. for循環與列表和子列表foreach循環
- 6. 循環執行與Tupled列表c#
- 7. 在柵格列表上執行循環
- 8. 列表框foreach循環
- 9. 國家列表:Foreach循環
- 10. 嵌套列表和foreach循環
- 11. 通過並行運行foreach循環來構建結果列表
- 12. 如何在foreach循環中執行「requestData」的並行處理?
- 13. 如何找出循環在foreach循環中每條條件執行多少次?
- 14. 如何爲循環,直到隊列執行的emptyin C++
- 15. 陣列Foreach循環
- 16. 循環執行列表的列表和保存不同的文件
- 17. 陣列/循環行爲
- 18. GemBox - For循環行和列?
- 19. Javascript循環行和列
- 20. 多個陣列foreach循環的MySQL
- 21. 將與foreach循環C#的多陣列
- 22. 多foreach循環的一個陣列
- 23. PHP的多陣列foreach循環
- 24. For循環和ForEach循環展現與getJSON不同的行爲
- 25. foreach循環不執行變量
- 26. 執行嵌套循環+ foreach + csh
- 27. Scala列表foreach,在foreach循環中更新列表
- 28. 並行foreach循環 - 奇數行爲
- 29. 如何多次執行while循環?
- 30. 搜索散列表不工作,爲循環不執行在c
非常感謝,最好的答案永遠 –
我試圖實現你的答案,但後來我發現,我正在安排我的個人資料與
–
@ EshiettOto,五峯創建一個包裝' div',然後用'ul'代替'tr':[updated小提琴](http://jsfiddle.net/adigas/5asL91fv/1/)。如果你不想創建一個額外的包裝'div',你可以使用knockout的[無容器控制流語法](http://knockoutjs.com/documentation/foreach-binding.html#note-4-using-foreach-沒有一個容器元素)像這樣:[fiddle](http://jsfiddle.net/adigas/5asL91fv/2/) – adiga