为什么我的Meteor应用程序会在点击导航链接时重新加载每个页面?

时间:2015-02-10 05:11:39

标签: meteor

这对我来说真的很困惑。我想做一些非常基本的事情。

我安装了Iron-Router,我只是想在页面之间导航。但看起来Meteor每次都在重新加载页面,而不是仅仅在屈服点重新渲染新页面。

所以我有一个布局文件标题和一个侧边栏模板,以及一个yield模板。

在侧边栏中,我使用pathFor帮助程序在单击链接时填充目标href。例如:

  ul.nav.nav-pills.nav-stacked       
    li.active
      a(href='{{pathFor "dashboard"}}', title='Manage Users')
        i.icon-speedometer
        |  Users
    li
      a(href='{{pathFor "adminFarms"}}', title='Farms')
        i.icon-speedometer 
        |  Farms

但问题是当在这两个链接之间导航时,Meteor会重新加载整个页面!为什么会这样,我觉得我已经在Meteor应用程序中多次这样做了,它只是在yield yield中加载新页面。但这一次它不断重新加载整个布局!发生了什么,这很简单,但我不明白。

此外,我也无法拦截点击。出于某些奇怪的原因,当我向一个链接添加一个id并尝试在Template.template.events处理程序中将其作为目标时,我似乎无法将它转到console.log。为什么我不能拦截Meteor中链接的事件。

更新

如果我删除了班级.nav .nav-pills& .nav-从无序列表标签堆叠然后它正常工作。所以问题必须是使用bootstrap以某种方式干扰Meteor单页应用程序功能。关于发生了什么的任何线索?

更新2 发现了这个问题!这是一个包含在我用于多级菜单的主题中。该软件包是Navgoco,它使用.nav类拦截所有事件。

1 个答案:

答案 0 :(得分:1)

尝试使用此事件处理程序。

Template.dashboard.events({ 
  'click a':function(e) {
   e.preventDefault(); 
})