使用knockout动态添加节点后,基础手风琴菜单不会更新

时间:2017-05-08 16:31:04

标签: javascript html knockout.js zurb-foundation

我正在尝试使用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');

有人可以建议我如何恢复手风琴菜单,而不必每次都要销毁吗?

0 个答案:

没有答案