【问题标题】:Conditionally Displaying EJS data有条件地显示 EJS 数据
【发布时间】:2013-04-29 17:47:44
【问题描述】:

我正在尝试在 EJS 中重用视图。它只是创建一个数据库查询结果的列表。我的代码是

   <ul data-role="listview" data-theme="a">
    <% for(var i=0; i<records.length; i++) { %>
        <li><a href="#actions" onClick="SetCurrentCustomer(<%= records[i].ID %>)">
PROBLEM HERE---->    <%= records[i].Name %> <%= records[i].TOJ%></a></li>
    <% } %>
    </ul>

我只想显示每个记录[i].Name 和记录[i].TOJ,如果它们已定义,或者视图是从某个路线调用的,还是更容易的。我曾尝试插入一个函数来过滤,但它只是被忽略了。我该怎么做?

【问题讨论】:

    标签: javascript html ejs


    【解决方案1】:

    for一样,你也可以在EJS中使用if

    <% if (someCondition) { %>
      <%= records[i].Name %> <%= records[i].TOJ %>
    <% }; %>
    

    或者,如果您只是想防止在未定义属性时显示undefined,您可以使用这个:

    <%= records[i].Name || '' %> <%= records[i].TOJ || '' %>
    

    (请注意,对于包含数字 0 或布尔值 false 的属性,这将失败)

    【讨论】:

    • 正是我需要的。谢谢罗伯特克莱普!
    • 完美,正是我想要的。
    • 完美,如果records.length &gt; 0想触发jquery函数怎么办?
    • @Cmag 你可以插入一个调用 jQuery 函数的&lt;script&gt; 块。
    猜你喜欢
    • 2018-02-07
    • 2022-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 2018-04-10
    • 2015-03-19
    相关资源
    最近更新 更多