Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要点击两下才能加载模态和侧导航(Meteor with Materialize)_Javascript_Jquery_Meteor_Materialize - Fatal编程技术网

Javascript 需要点击两下才能加载模态和侧导航(Meteor with Materialize)

Javascript 需要点击两下才能加载模态和侧导航(Meteor with Materialize),javascript,jquery,meteor,materialize,Javascript,Jquery,Meteor,Materialize,我在Meteor中的物化导航有一个奇怪的问题。奇怪的是,当我在导航中单击一个链接时,侧边栏或模式只在第二次单击时加载。因此,我必须单击链接一次(在没有发生任何事情的情况下),然后再次单击以显示元素。之后,任何单击都会加载图元(只需单击一次) 我从来没有遇到过这个问题,我认为这可能是一个具体化的问题。不过,在我计算materialize之前,我想和你们确认一下,我是否可能将JQuery函数称为错误的函数。代码如下: header.html: <template name="header"&g

我在Meteor中的物化导航有一个奇怪的问题。奇怪的是,当我在导航中单击一个链接时,侧边栏或模式只在第二次单击时加载。因此,我必须单击链接一次(在没有发生任何事情的情况下),然后再次单击以显示元素。之后,任何单击都会加载图元(只需单击一次)

我从来没有遇到过这个问题,我认为这可能是一个具体化的问题。不过,在我计算materialize之前,我想和你们确认一下,我是否可能将JQuery函数称为错误的函数。代码如下:

header.html:

<template name="header">
  <nav>
    {{> sideNav}}
    <div class="nav-wrapper">
      <a href="#" class="brand-logo center"><span class="light"></span>hamok</a>
      <ul id="nav-mobile" class="left">
        <li><a href="#" data-activates="slide-out" class="button-collapse show-on-large"><i class="mdi-navigation-menu"></i></a></li>
        <li><a href="#"><i class="mdi-action-search left"></i>Search</a></li>
      </ul>
      <ul id="nav-mobile" class="right">
        {{#if currentUser}}
          <li><a id="logout">Sign out</a></li>
        {{else}}
        <li><a class="modal-trigger-login" href="#loginModal">Account<i class="left mdi-action-account-circle"></i></a></li>
        {{/if}}
      </ul>
    </div>
  </nav>

  {{> loginModal}}
</template>

<template name="loginModal">
  <div id="loginModal" class="modal">
    <div class="modal-content">
      {{> atForm}}
    </div>
  </div>
</template>

<template name="sideNav">
  <ul id="slide-out" class="side-nav">
    <li><a href="#!">First Sidebar Link</a></li>
    <li><a href="#!">Second Sidebar Link</a></li>
  </ul>
</template>

谢谢大家的关注

leanModal所做的是初始化jQuery插件,因此它应该在模板
onRendered
函数中调用,而不是在单击modal触发器按钮时调用

Template.header.onRendered(function(){
  this.$(".modal-trigger-login").leanModal();
});
您可以删除
单击。模式触发登录事件:您当前需要2次单击,因为第一次单击只会初始化插件

同样,您的
sideNav
初始化调用应该在
onRendered
生命周期事件中进行:

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

非常感谢。我想我的JQuery已经关闭了。
Template.header.onRendered(function(){
  this.$(".button-collapse").sideNav();
});