当前位置:  开发笔记 > 编程语言 > 正文

Meteor:点击更改链接类别

如何解决《Meteor:点击更改链接类别》经验,为你挑选了2个好方法。

模板:


header.js

Template.header.events({
    'click a': function(e) {
        e.preventDefault();
        this.active?"active":"";
    }
});

我只是想设置点击链接的类active.点击链接类应该是这样的class="blog-nav-item active".



1> Matyas..:

下面的示例依赖于iron-router并提出了一种用于添加active类的反应方法

首先应将模板修改为:

Home

然后适当的帮助应该是:

Template.name.helpers({
    active: function(routeName) {
        var curRoute = Router.current().route;
        return curRoute.name === routeName ? 'active' : '';
    }
});

编辑v1.0 +

从铁路由器1.0开始,现在可以访问路径的名称
route.getName() (以前是route.name).

特别是,你需要写回报
curRoute.getName() === routeName ? 'active' : '';

谢谢@jrbedard的通知


从铁路由器1.0开始,路由的名称现在可以在route.getName()访问(之前它是route.name).特别是,你需要写`return curRoute.getName()=== routeName?'主动':'';`

2> Peppe L-G..:

我想这将是你想要的"流星方式":


Router.onBeforeAction(function(){
    Session.set('currentRouteName', Router.current().route.name)
})

Template.menu.helpers({
    isCurrentPage: function(pageName){
        return Session.equals('currentRouteName', pageName)
    }
})

Router.current().route.name 评估最新版铁路由器中的当前页面名称,但我不知道这是否应该使用公共API的一部分.

编辑

Router.current() 显然是反应性的,所以您需要的所有JavaScript代码如下:

Template.menu.helpers({
    isCurrentPage: function(pageName){
        return Router.current().route.name == pageName
    }
})

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有