我正在尝试使用Foundation
框架和Knockout
模拟树状视图。
我有一个基金会手风琴菜单,我开始时只有几个节点。当我点击手风琴菜单时,我正在查询数据库并在此时添加子文件夹。
我根据此链接提供的构建基础构建了我的树视图:
http://foundation.zurb.com/building-blocks/blocks/multilevel-accordion-menu.html
我的HTML代码如下所示
<ul id="treeview" data-bind='template: { name: "nodeTmpl", foreach: treeview }' class="multilevel-accordion-menu vertical menu" data-accordion-menu></ul>
<script id="nodeTmpl" type="text/html">
<li data-bind="click: $root.goToFolder">
<a href="#" data-bind='text: node().DecryptedName'></a>
<ul class="menu vertical sublevel-1" data-bind='attr: {id: "ul_" + node().ResourceId }, template: { name: "nodeTmpl", foreach: children }'></ul>
</li>
</script>
我的方法goToFolder
更新对象以添加所需的节点。
我的问题是,在这发生之后,手风琴菜单不会刷新。如果我运行以下代码,它就像一个魅力,但这最小化了我不想要的所有文件夹。
$('#treeview').foundation('destroy');
$('#treeview').foundation();
我搜索过并搜索过但未发现任何有效的内容,包括以下内容:
Foundation.reInit($('#treeview'));
Foundation.reInit('accordion-menu');
有人可以建议我如何恢复手风琴菜单,而不必每次都要销毁吗?