Javascript 我很困惑if-else在ejs中的工作方式是否不同
我想知道这段代码有什么问题。我试图实现一个登录代码,在这里,我想如果有一个条件将是真的,那么只有显示注销显示登录或注册Javascript 我很困惑if-else在ejs中的工作方式是否不同,javascript,node.js,if-statement,ejs,Javascript,Node.js,If Statement,Ejs,我想知道这段代码有什么问题。我试图实现一个登录代码,在这里,我想如果有一个条件将是真的,那么只有显示注销显示登录或注册 <% if(!currentUser) {%> <li><a href="/login">Login</a></li> <li><a href="/register">Register</a></li> <% } %> <
<% 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>
<%}%>
但是else
需要立即跟随if(条件)
之后的块。你不能让一些东西在它之前写代码
但是
else
需要立即跟随if(条件)
之后的块。你不能在它之前编写代码。它是特定于ejs的imo,它解析模板标记的方式是特定于ejs的imo,它解析模板标记的方式
<% } %>
<% else { %>
}
document.write("\n ");
else {