Jquery (metis-menu) 在流星中无法与 iron:router 一起使用

Jquery (metis-menu) not working with iron:router in meteor

我正在尝试实现侧边栏(利用 sb-admin-2 中的侧边栏当我将侧边栏用作 main.html 的一部分时,切换功能非常好。但是,当我实现同样通过 iron:router 并将侧边栏设置为持久性,侧边栏失去了 toggle/hide 功能。基本上,子级元素总是展开,我没有办法隐藏那些子级元素。有没有解决这个问题?

我在 pastie 中有侧边条码 --> 这在 client/main.html

中有效

但是当我在 this 等模板中尝试相同的操作并通过以下代码将其传递给 iron:router 时,切换功能会丢失

router.js:

Router.configure({
      layoutTemplate: 'sidebar'
});

我在类似的 question 中读到这与渲染回调有关,但我不确定如何让它在这里工作。

我就是这样解决的。

AppLayout:

<template name="Index">
    <div id="wrapper">
        <!-- Navigation -->
        {{> navigationBar}}
        {{> Sidebar}}
        <div id="page-wrapper">
            <div class="row breadcrumbPosition">
                {{> breadcrumb}}
            </div>
            <!-- /.row -->
            <div class="row">
                <div class="col-xs-9 blockablelockable">
                    {{> yield}}
                </div>
            </div>
          </div>
        <!-- /#page-wrapper -->
    </div>
    <!-- /#wrapper -->
</template>

Sidbar.html 是一个带有原始边栏实现的模板。

SidebarHelper.jsonRendered 中包含一个函数,它像这样初始化 metis 菜单:

Template.Sidebar.onRendered( function(){

    $('.metisMenu').metisMenu({
      toggle: true // disable the auto collapse. Default: true.
    });
});