【发布时间】:2013-09-01 07:45:58
【问题描述】:
我正在使用 Express 和 EJS 来提供页面。我在 UI 上使用 Bootstrap,特别是导航栏。
我想在当前页面的<li> 项中添加一个'active' 类,以显示当前页面。但是,我找不到如何从呈现页面的 EJS 代码中获取 URL。
我找到了 2 个解决方法:我使用的方法包括将页面名称作为参数传递到路由的 res.render('myview', {pageName: 'myView'}); 中 - 这是不可扩展的,可能会导致问题。
另一种方法是在客户端使用 jQuery 在页面准备好时将 'active' 类添加到项目中 - 但这意味着在每个视图中都包含这段脚本 + 一些无用的客户端循环。
之前使用过几种服务器端渲染语言,我觉得我错过了一些东西。而且网上的 EJS 文档也不是很好。
有没有办法从 EJS 代码中找到我当前的路径/url?
更新: 我采用了前 2 条建议,并将视图名称作为参数传递给视图。我真的很喜欢@tandrewnichols 自动计算它的想法,但最终,复制粘贴字符串更容易:)
【问题讨论】:
标签: javascript node.js express ejs