Node.js,Express,EJS - 导航中当前页面上的活动类 [英] Node.js, Express, EJS - Active class on current page in navigation

查看:138
本文介绍了Node.js,Express,EJS - 导航中当前页面上的活动类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在每个导航链接上呈现一个当前类,具体取决于我在layout.ejs模板中的哪个页面。

I'd like to render a 'current' class on each of my navigation links depending on which page I'm on in my layout.ejs template.

目前,我的快递控制器索引如下所示:

Currently, my express controller index looks like this:

// About
exports.about = function(req, res) {
    res.render('content/about.ejs', {
        title: 'About'
    });
};

在我的layout.ejs中,我有以下内容,我想动态呈现。

And in my layout.ejs I have the following, which I'd like be rendered dynamically.

<ul class="nav" id="nav">
    <li><a href="/">Home</a></li>
    <li class="current"><a href="/about">About</a></li>
    <li><a href="/">Contact</a></li>
</ul>

如何实现这一目标的任何想法?

Any ideas of how to achieve this?

推荐答案

您可以在 res.render中包含 page_name:'about' 数据,然后在模板中,例如:

You could include a page_name: 'about' in the res.render data and then in the template something like:

<li <% if (page_name === 'about') { %>class="current" <% } %> ><a href="/about">About</a></li>

我没有测试语法,但这就是要点。

I didn't test the syntax, but that's the gist.

这篇关于Node.js,Express,EJS - 导航中当前页面上的活动类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆