下划线模板 - 如何检查多个条件

时间:2014-09-29 05:34:11

标签: templates underscore.js-templating

在我的应用中,我正在尝试使用if部分检查2个条件。但不行。我也没有得到结果..

这是我使用的条件:

<% _.each(recourseParameter, function (item, index) { %>

            <% if (index % limit == 0 )  { %>
                <%= _.template($('#header').html())({"parameterCode":parameterCode}) %>
            <% } %>

            <% if(item.description) { %>
                <tr>
                    <td colspan=5><%= item.description %></td>
                </tr>
            <% } %>

            <% if (((index+1) % limit == 0 ) && ((index +1) != limit)) { %> // this is not working!
                    <%= _.template($('#closer').html())() %>
                        <span>Continue ... </span> //this is not printing..
                    </div>
            <% }  %>

    <% }) %>

Live Demo

1 个答案:

答案 0 :(得分:1)

if if实际上工作正常。 if代码尝试验证的逻辑是不正确的。

我们来看看。

<% if (((index+1) % limit == 0 ) && ((index +1) != limit))
  

索引的可能值为0到10,而限制始终为9

现在满足这个要求(index+1) % limit == 0 索引必须为8,除此之外%只不是0,因为只有(8+1) % 9 == 0.

现在,索引是8。 if中的第二个条件是(index+1) != limit,其中(8 + 1)!= 9总是返回false。

因此,<% if (((index+1) % limit == 0 ) && ((index +1) != limit))永远不会返回true。

总之,if函数运行正常,请相应地修改代码的逻辑: