這可能很簡單,但我似乎無法找到它。在knockout.js中,如何打印可重複使用foreach綁定迭代的可觀察數組中的項的索引?Knockout.js在foreach中打印對象的索引
18
A
回答
35
淘汰賽2.1增添了良好的新選項$指數。 以下是示例http://knockoutjs.com/documentation/foreach-binding.html
11
你不能。不直接反正。我用這個功能自己添加一個索引屬性的對象在我ObservableArrays:在我的ViewModel
function indexSubscribe(array) {
array.subscribe(function() {
for (var i = 0, j = array().length; i < j; i++) {
var item = array()[i];
if (!item.index) {
item.index = ko.observable(i);
} else {
item.index(i);
}
}
});
};
然後,我可以做這樣的事情:
this.whatevers = ko.observableArray();
indexSubscribe(this.whatevers);
+0
+1,流暢的解決方案 – Tyrsius 2012-06-05 16:18:39
0
以下解決方案可能是遲到的答案。但是,如果您的最佳選擇是viewmodel
以下解決方案將有助於最新的修復。
根據Knockout 3.1.0
及以上的庫有簡單的工作。 index
可作爲第二參數傳遞給arrayForEach
。
var items = ["Mercedes", "Volvo", "BMW"];
ko.utils.arrayForEach(items, function(item, index) {
console.log(item + ' ' + index);
});
希望此解決方案可能有助於某人。
相關問題
- 1. 打印索引對象
- 2. 打印對象的引用
- 3. 動態索引多維數組打印在foreach循環中並打印在表
- 4. 如何打印JSTL中的數組對象的索引
- 5. knockout.js用foreach對象模板失敗
- 6. 在Django中打印對象
- 7. 在Python中打印對象
- 8. 如何比較Knockout.js foreach中的2個索引?
- 9. Knockout.js Tabindex在foreach
- 10. 在Java中打印數組的索引
- 11. knockout.js FOREACH對象>對象>陣列上結合
- 12. 打印對象
- 13. 不能夠進去的foreach的最後一個索引knockout.js
- 14. 在索引中打印單詞 - Lucene
- 15. 在Python中打印元組索引
- 16. Knockout.JS打印數字列表
- 17. 如何在JavaScript對象本身存儲在數組索引中時打印對象的每個單獨屬性?
- 18. 無法打印在指定索引的內容在一個ArrayList對象
- 19. 在jquery中打印json對象的值
- 20. 在Java中打印對象的名稱
- 21. 在toString中打印對象的值
- 22. 在Django中打印對象的URL
- 23. 每個foreach中的foreach,兩張表,Knockout.js
- 24. JSON對象打印在DIV
- 25. 嵌套的foreach在knockout.js
- 26. JavaScript對象的打印對象的值
- 27. 打印出對象
- 28. 打印SimpleXMLElement對象
- 29. 打印Doctrine_Collection對象?
- 30. 打印MultipleSeqAlignment對象
在KO 2.1.0(測試版現在可用)中,您可以使用'$ index'獲取foreach中的索引。以下是測試版主題:https://groups.google.com/d/topic/knockoutjs/LdUfjGNZOj8/discussion。類似於馬特在他的回答中所描述的,我使用這種技術(將'indexed'函數添加到observableArrays中):http://stackoverflow.com/questions/9760861/apply-a-class-to-every-nth-template-元素與knockoutjs – 2012-03-28 19:03:53
@ RPNiemeyer:我約98%肯定我在Knockout論壇上從你身上偷走它! – 2012-03-28 19:11:06
@MattBurland不用擔心! – 2012-03-28 19:20:58