在 .ejs 文件中获取当前页面?
Posted
技术标签:
【中文标题】在 .ejs 文件中获取当前页面?【英文标题】:Get current page in .ejs file? 【发布时间】:2017-09-11 22:28:03 【问题描述】:我有一个简单的 Node.js Web 应用程序,具有通过护照登录/注册功能。在导航栏中,我有两个按钮:登录和注册。我想做的是当用户在注册页面时,只在导航栏中显示登录按钮,当用户在登录页面时,只在导航栏中显示注册按钮。如何在我的头 ejs 文件中实现这一点?
我试过这个:
<% if (document.URL.contains("login")) %>
<li><a href="/login">Sign In</a></li>
<% else %>
<li><a href="/register">Sign Up</a></li>
<% %>
问题在于文档变量未在我的 ejs 本地变量中定义...而且我认为我不能将其定义为本地变量?至少当我尝试时,我得到了一个错误,即文档未定义......这是有道理的,因为这是在 app.js 文件中完成的。
我怎样才能实现这个功能?
谢谢!
【问题讨论】:
您使用的是纯 Node 还是 Express 或 Sails 之类的东西? @Badacadabra 我正在使用 Express。 http://***.com/questions/18501402/finding-current-url-inside-ejs-view-when-using-express 【参考方案1】:当你渲染你的 ejs 文件时,提供一个带有标题的 json 对象。
以下内容将包含在您的快速路线中:
app.route('/login')
.get((req, res) =>
res.render('loginTemplateEjs', title: 'login');
);
然后在你的 ejs 代码中:
<% if (title == "login" %>
<li><a href="/login">Sign In</a></li>
<% else %>
<li><a href="/register">Sign Up</a></li>
<% %>
【讨论】:
以上是关于在 .ejs 文件中获取当前页面?的主要内容,如果未能解决你的问题,请参考以下文章