我正在使用带有铁路由器和流星标准火焰诱惑的流星。
我有一个ul设置,以便在点击我的一个li项目时,使用单击功能单击其包含的锚标记。唯一的问题是,当点击该功能时,它会被视为我的另一个点击我的菜单并且我的菜单没有向右切换。
我想知道是否有办法在没有实际调用点击功能的情况下调用pathFor。
感谢您的帮助!
更新,这里是代码,它与一个非常标准的下拉导航一起工作。我不确定我是否可以像jquery事件那样捕获该事件,因为我认为它是在[0]上工作的标准浏览器点击事件,但我想我应该能够创建一个匹配href的函数来路由和请致电Router.go
Template.nav.rendered = () ->
# set initial page view and take care of refeshes
currentPageHtlm = getCurrentPage(window.location.pathname)
$('#currentPage').find('span').html(currentPageHtlm)
$("li").on "click", () ->
#simulate anchor click and set currentPage session
$(this).find("a")[0].click()
Session.set 'pageName', getCurrentPage($(this).find("a").attr("href"))
currentPageHtlm = Session.get 'pageName'
$('#currentPage').find('span').html(currentPageHtlm)
# toggle nav and arrow if mobile view
if $('.smOnly').css('display') != 'none'
$('#nav').slideToggle('slow')
$('#dropArrow').toggleClass('fa-caret-square-o-down fa-caret-square-o-up')
答案 0 :(得分:0)
听起来你正在寻找一种以编程方式从JS重定向而不是通过UI互动的方式,在这种情况下你需要使用Router.go('ROUTE_NAME')
,按照the docs(你可以使用)路由名称在pathFor
中作为提供实际路径的替代方法。)