Javascript 用敲击法动态添加节点后不更新基础手风琴菜单

Javascript 用敲击法动态添加节点后不更新基础手风琴菜单,javascript,html,knockout.js,zurb-foundation,Javascript,Html,Knockout.js,Zurb Foundation,我正在尝试使用Foundationframework和Knockout模拟树视图 我有一个基础手风琴菜单,我从几个节点开始。单击accordion菜单时,我正在查询数据库并添加子文件夹 我已基于此链接提供的构建块中的树视图: 我的HTML代码如下所示 <ul id="treeview" data-bind='template: { name: "nodeTmpl", foreach: treeview }' class="multilevel-accordion-menu vertica

我正在尝试使用
Foundation
framework和
Knockout
模拟树视图

我有一个基础手风琴菜单,我从几个节点开始。单击accordion菜单时,我正在查询数据库并添加子文件夹

我已基于此链接提供的构建块中的树视图:

我的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>
我搜索了又搜索,但没有找到任何有用的东西,包括以下内容:

Foundation.reInit($('#treeview'));
Foundation.reInit('accordion-menu');

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

您需要为小部件编写一个新的目录。您如何更新您的目录树?在中,当推到初始数组时,手风琴根本没有松开状态(在这种情况下,knockout将重用元素,而不是重新绘制整个数组)。您正在创建一个全新的树吗?很抱歉,这是一个带有子项的手风琴菜单,就像树视图一样。更多的是子项没有被正确更新。我通过将项目推送到我单击的给定节点的数组中进行更新。节点进入,但accordion子菜单没有添加下拉箭头。值得一提的是,我从这里提供的构建块中创建了这个accordion菜单。。。
Foundation.reInit($('#treeview'));
Foundation.reInit('accordion-menu');