【发布时间】:2015-07-20 20:43:06
【问题描述】:
我正在使用循环绑定树视图结构。有什么方法可以在我不必使用循环的情况下使用淘汰赛来绑定它?
下面是我用来生成树视图的循环:
var items = viewModel.TreeView();
for (var i = 0; i < items.length; i++) {
if (items[i].ParentMenuID == 0) {
var html = '<li menuId="' + items[i].MenuID + '"><span class="arrow"> </span>';
html += '<span><a href="#" name="basenode" href="javascript:void(0);">' + items[i].MenuName + '</a></span></li>';
$("#ulTree").append(html);
}
else {
var html = '<ul><li menuId="' + items[i].MenuID + '"><span class="arrow"> </span>';
html += '<span><a href="#" name="endnode" href="javascript:void(0);">' + items[i].MenuName + '</a></span></li></ul>';
$("#ulTree li[menuId='" + items[i].ParentMenuID + "']").append(html);
$($("#ulTree li[menuId='" + items[i].ParentMenuID + "']").find(".arrow")[0]).addClass("collapse collapsible");
}
}
以上代码的输出如下:
<li menuid=1>
<span class="arrow collapse collapsible"> </span>
<span><a href="#" name="basenode">PARENT</a></span>
<ul style="display: none;">
<li menuid="222">
<span class="arrow collapse collapsible"> </span>
<span><a href="#" name="endnode">NODE</a></span>
<ul style="display: none;">
<li menuid="223">
<span class="arrow"> </span>
<span><a href="#" name="endnode">1121</a></span>
</li>
</ul>
</li>
</ul>
</li>
【问题讨论】:
-
淘汰码在哪里?你试过什么?调试?您是否阅读过 KO 文档和/或学习过教程?
标签: knockout.js treeview structure using