【问题标题】:How to include a view conditionally in ejs?如何在 ejs 中有条件地包含视图?
【发布时间】:2020-11-06 14:04:49
【问题描述】:

当我的会话变量person 不是null 或不是@987654323 时,我只想在我的ejs 模板 中显示dashboard @。

但它只是每次都显示仪表板。在我的日志语句中,person 的值为undefined

<%= console.log(person); %>
<% if (person !== null || person !== undefined) { %>
<%- include("dashboard"); %>
<% } else { %>
<%- include("login"); %>
<% } %>

什么是正确的方法?

【问题讨论】:

    标签: javascript node.js express rendering ejs


    【解决方案1】:

    我不确定,但您可以尝试将 if 语句更改为

    <% if (person) { %>
    

    如果 person 不为 null 或未定义,它将简单地返回 true

    【讨论】:

    • 好吧,如果 person 等于一个空字符串,那么 if 语句也评估为 true。实际上,已经发现错误是使用&&而不是||,谢谢大佬
    【解决方案2】:

    可以通过以下方式完成:

    &lt;%- include(person !== null &amp;&amp; person !== undefined ? "dashboard" : "login"); %&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 2019-11-15
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      相关资源
      最近更新 更多