【问题标题】:Get current page in .ejs file?在 .ejs 文件中获取当前页面?
【发布时间】: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 文件中完成的。

我怎样才能实现这个功能?

谢谢!

【问题讨论】:

标签: javascript html node.js ejs


【解决方案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>
<% } %>

【讨论】:

    猜你喜欢
    • 2022-01-07
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 2011-05-07
    • 2014-04-16
    • 1970-01-01
    • 2012-12-04
    • 2013-04-17
    相关资源
    最近更新 更多