【问题标题】:Getting the loop index in an eco template在生态模板中获取循环索引
【发布时间】:2012-05-25 10:01:12
【问题描述】:

是否可以使用eco模板引擎获取当前循环索引?

例如在 Jinja2 中你可以这样做

{% for var in array %}
    {{ loop.index0 }}
{% endfor %}

如果没有,是否有更惯用的方法来获取索引?

【问题讨论】:

    标签: coffeescript eco


    【解决方案1】:

    来自CoffeeScript website

    # Fine five course dining.
    courses = ['greens', 'caviar', 'truffles', 'roast', 'cake']
    menu i + 1, dish for dish, i in courses
    

    也可以写成

    courses = ['greens', 'caviar', 'truffles', 'roast', 'cake']
    for dish, i in courses
      menu i + 1, dish 
    

    对于生态模板,应该这样做:

    <% for val, idx in @varName: %>
    <span>The index is <%= idx %> and value is <%= val %></span>
    <% end %>
    

    【讨论】:

    • 对,但是在生态模板的上下文中,您将如何做到这一点。
    【解决方案2】:

    是的,只需使用 CoffeeScript 即可(但请注意额外的 :):

    <% for thing, i in @things: %>
      <%= i %>: <%= thing %>
    <% end %>
    

    jsFiddle example.

    【讨论】:

    • @Puce 它seems to be necessary。您使用的是不同的 Eco 版本吗?从答案上链接的 jsFiddle 示例中删除冒号时,会引发错误:Error: Parse error on line 3: unexpected dedent.
    • 对不起,我没有使用相同的模板引擎。
    猜你喜欢
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 2014-08-05
    • 2011-05-11
    • 2010-12-06
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多