如何使用 EJS 模板有条件地显示 HTML?

Posted

技术标签:

【中文标题】如何使用 EJS 模板有条件地显示 HTML?【英文标题】:How to conditionally display HTML with EJS Template? 【发布时间】: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 布尔值,它应该可以工作 【参考方案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 中未定义,我仍然在这里遇到错误 文件。

希望对你有所帮助!

【讨论】:

以上是关于如何使用 EJS 模板有条件地显示 HTML?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Angular 8 有条件地为一个组件制作两个 HTML 模板

如何使用 EJS 模板引擎将变量传递给内联 javascript?

如何从给定 ID 获取用户信息并使用 Node.js 和 EJS 显示它[关闭]

我可以在 EJS 模板中使用条件语句(在 JMVC 中)吗?

如何使用 ejs 连接 html 属性中的字符串?

在 EJS 模板引擎中,如何“包含”页脚?