我很困惑if if else在ejs中的工作方式是否不同

问题描述 投票:0回答:1

我想知道这段代码有什么问题。我正在尝试实现一个登录代码,在这里我想要一个条件为真的情况,然后只显示注销,或者显示登录名或注册

<% if(!currentUser) {%>
    <li><a href="/login">Login</a></li>
    <li><a href="/register">Register</a></li>
    <% } %>
    <% else { %>
    <li><a href="#">Signed In As : <%= currentUser.username %> </a></li>
    <li><a href="/logout">Logout</a></li>
<%}%>

这是错误的代码,我发现,如果我在一行中而不是在代码行之前将其换行,则不会给其他换行,但是对于js来说不是这样,我只想知道如果我运行此代码然后它可以工作

<% if(!currentUser) {%>
    <li><a href="/login">Login</a></li>
    <li><a href="/register">Register</a></li>
    <% } else { %>
    <li><a href="#">Signed In As : <%= currentUser.username %> </a></li>
    <li><a href="/logout">Logout</a></li>
<%}%>
javascript node.js if-statement ejs
1个回答
0
投票
<% } %>
<% else { %>

非常粗略等同于:

}
document.write("\n    ");
else {

但是else需要立即跟随if (condition)之后的程序段。您不能在上面写任何东西。

© www.soinside.com 2019 - 2024. All rights reserved.