这对我来说真的很困惑。我想做一些非常基本的事情。
我安装了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类拦截所有事件。
答案 0 :(得分:1)
尝试使用此事件处理程序。
Template.dashboard.events({
'click a':function(e) {
e.preventDefault();
})