在 meteor 应用程序中安装 iron:router 后,Materialise 侧边栏导航停止工作

Materialize sidebar navigation stops working after installation of iron:router in meteor app

我尝试使用 Materialize (http://materializecss.com) 作为样式框架构建一个 Meteor 应用程序。

我首先用 Materialize 入门模板替换了默认的 meteor 应用程序。

当浏览器 window 充分缩小时,导航栏项目会缩小为 'hamburger' 图标,但当您单击它时,项目会出现。

完成这项工作的关键似乎是安装此 javascript 代码

if (Meteor.isClient) {
            
    Meteor.startup(function () { 
        $(".button-collapse").sideNav(); 
    });
}

目前一切顺利

但是...

接下来我安装添加 iron:router 到我的项目,在定义路线(和模板)后我可以再次看到入门模板页面但是当我 'click' 时不再触发 sideNav 栏汉堡图标。

如何恢复功能正常的导航侧边栏?

最简单的答案是在找到按钮的模板的 onRendered() 事件函数中进行 $(".button-collapse").sideNav(); 调用:

<template name="navigation">
  ...
  <a class="button-collapse">...</a>
  ... 
</template>

Template.navigation.onRendered(function(){
   $(".button-collapse").sideNav();
});

应该这样做。