我正在为我的 knockout 应用程序菜单使用一个名为 Jarvismenu 的外部 javascript 库,为了使菜单正常工作(单击它们时折叠/展开父菜单项)需要在加载菜单后执行脚本。
菜单看起来像这样:
<nav>
<ul data-bind="foreach: reports">
<li>
<a href="#" data-bind="attr: {title: title}"><span class="menu-item-parent" data-bind="text:title"></span></a>
<ul data-bind="foreach: reportItems">
<li>
<a href="#" data-bind="attr: {title: title}, text: title"></a>
</li>
</ul>
</li>
</ul>
</nav>
如何在 Knockout 3.3.0 中实现这一目标?
最佳答案
您可以将其他数据发送到您的 foreach 绑定(bind)中。在您的情况下,您会对 afterRender 选项感兴趣。
你的代码看起来像这样
<nav>
<ul data-bind="foreach: { data: reports, afterRender: functionToCallWhenReportsRendered}">
<li>
<a href="#" data-bind="attr: {title: title}"><span class="menu-item-parent" data-bind="text:title"></span></a>
<ul data-bind="foreach: { data: reportItems, afterRender: functionToCallWhenItemsRendered}">
<li>
<a href="#" data-bind="attr: {title: title}, text: title"></a>
</li>
</ul>
</li>
</ul>
</nav>
这里是更多文档的链接:
关于javascript - 在 foreach 列表之后运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30666500/