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