【问题标题】:How to conditionally display HTML with EJS Template?如何使用 EJS 模板有条件地显示 HTML?
【发布时间】:2018-02-07 18:53:09
【问题描述】:

我尝试了以下条件,效果很好,

<% if (user) { %>
  <h1> Success </h1>
<% } else { %>
  <h1> Failure </h1>
 <% } %>

但我想检查如下情况,

<% if (user.verified == true ) { %>
  <h1> Success </h1>
<% } else { %>
  <h1> Failure </h1>
 <% } %>

它不工作,显示错误。 请任何人帮我解决这个问题。

【问题讨论】:

  • 如果 user.verifiedtrue 布尔值,它应该可以工作

标签: html node.js ejs


【解决方案1】:

您需要检查用户是否未定义。所以代码应该是:

<% if (user && user.verified == true) { %>
  <h1> Success </h1>
<% } else { %>
  <h1> Failure </h1>
<% } %>

【讨论】:

    【解决方案2】:

    终于有办法了!!

    <% if(typeof (user) != "undefined"){ %>
            <h1>User Exists</h1>
    <% } %>
    

    注意 undefined 放在 " " (引号)内。

    仅供参考

    未定义、null、""(空字符串)在 Javascript,但由于 ejs 中未定义,我仍然在这里遇到错误 文件。

    希望对你有所帮助!

    【讨论】: