node.js + Jade + express : How can I create a navigation that will set class active if the path matches

标签 node.js express pug

我想出了以下代码,但问题是,每个菜单项都会有重复的 anchor 标记。有没有更好的方法来做到这一点?

                ul.nav
                    - if(menu="Home") 
                        li.active
                            a(href="#") Dashboard
                    else
                        li
                            a(href="#") Dashboard
                    li 
                        a(href="#") About
                    li 
                        a(href="#") Contact

最佳答案

在另一个 question that was similar 中找到了这个:

在每个“li”处使用一个三元组

ul
    li(class=(title === 'Home' ? 'active' : ''))
        a(href='#') Home
    li(class=(title === 'Dashboard' ? 'active' : ''))
        a(href='#') Dashboard

如果需要,您可以设置路由以传递“菜单”值而不是使用“标题”:

exports.index = function(req, res) {
    res.render('index', {title: 'Home', menu: 'Home'});
}

关于node.js + Jade + express : How can I create a navigation that will set class active if the path matches,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10713923/

相关文章:

javascript - 在更新选择器中使用 $in 时更新多个文档

mysql - 使用 Sequelize 一次将许多内容保存到 MySql 时出现 SIGSEGV 错误

node.js - Jade 本地人空白

node.js - 使用 Jade 模板系统的内联 CSS

javascript - 尝试让 Jade 重定向页面

node.js - 环回: how to collect data in a for-loop containing a async method?

node.js - Grunt 配置 - 动态映射

javascript - Express 没有得到查询 Mongodb 的其他函数的返回

node.js - express.js 少编译器 : can not get work

javascript - 在调用 res.end 之前,nodejs 中的 res.write 是否会阻止服务器响应其他请求?