Backbone.js 在下划线.js模板中使用for循环和if语句?

Backbone.js 在下划线.js模板中使用for循环和if语句?,backbone.js,underscore.js,Backbone.js,Underscore.js,我需要在下划线模板中加入一些UI逻辑,但我很难理解语法。我正在ASP.NETMVC.aspx视图中使用该模板,因此我必须将模板设置更改为使用{%=%}、{%-%}和{%%} 我试图在一个表行中生成一个选择列表,使用“SortOrderCount”和“CurrSortOrder”对属性进行建模 这就是我到目前为止所拥有的,但是它出错了,并且for循环中的I被输出为一个文本“I”字符。语法太糟糕了…哈哈 <td>{% if (CurrSortOrder) { %}

我需要在下划线模板中加入一些UI逻辑,但我很难理解语法。我正在ASP.NETMVC.aspx视图中使用该模板,因此我必须将模板设置更改为使用{%=%}、{%-%}和{%%}

我试图在一个表行中生成一个选择列表,使用“SortOrderCount”和“CurrSortOrder”对属性进行建模

这就是我到目前为止所拥有的,但是它出错了,并且for循环中的I被输出为一个文本“I”字符。语法太糟糕了…哈哈

  <td>{% if (CurrSortOrder) { %}
                <select> 
                   {% for (var i = 1; i <= {%= SortOrderCount %}; i++) { %}
                       <option value="{%= i %}" {%= i == CurrSortOrder ?      
                               selected="selected" : "" %}>{%= i %}</option>
                   {% } %} 
                </select>
      {% } %}
  </td>
{%if(CurrSortOrder){%}
{%for(变量i=1;i=1

记住,字符串仍然是
{%}
之间的模板中的字符串。这里有一些未替换的字符串

此外,您不能嵌套模板标记。需要进行一些清理:

<td>{% if (CurrSortOrder) { %}
            <select> 
               {% for (var i = 1; i <= SortOrderCount; i++) { %}
                   <option value="{%= i %}" {%= (i == CurrSortOrder) ?      
                           'selected="selected"'' : "" %}>{%= i %}</option>
               {% } %} 
            </select>
{% } %}</td>
{%if(CurrSortOrder){%}

{%(var i=1;谢谢,这几乎解决了问题。唯一认为不起作用的是所选项目。标记的HTML是所选项目不起作用,因为它在源HTML中显示了实际的第三种情况。请阅读我的原始页面底部OST。这应该是问题。谢谢各位。然后嵌套<代码> {%= SoRoStRealStutial%} /CODE看起来不对。如果你想在你的模板中使用逻辑,你可能真的想考虑比下划线模板功能更强大的东西(这是设计的,非常小)。.我建议你看看小胡子或把手;它们都很受欢迎,而且比
\uuu.template
强大得多。
<td>{% if (CurrSortOrder) { %}
            <select> 
               {% for (var i = 1; i <= SortOrderCount; i++) { %}
                   <option value="{%= i %}" {%= (i == CurrSortOrder) ?      
                           'selected="selected"'' : "" %}>{%= i %}</option>
               {% } %} 
            </select>
{% } %}</td>