在条件dust.js语句中使用parent $ id

时间:2014-08-28 10:12:24

标签: syntax dust.js

我有一个用javascript(JSon)对象表示的表。我用Dust来填充表格。

每个偶数行应该有data-editable="true",每个奇数行应该有data-editable="false"

这是我尝试的内容:

                {#rows}
                <tr>
                    {#rows.values}
                    <td data-header="{header}" data-editable="{#rows}{@@math key=$idx method=" mod" operand=2}
                        {@@eq value=0}
                        true
                        {:else}
                        false
                        { />eq}
                    {/math}{/rows}">
                        {value}
                    </td>
                    {/rows.values}
                </tr>
                {/rows}

但它没有用。

javascript对象如下所示:

    var data = {
        'headers': ['a', 'b', 'c']
        , 'rows': [
            {
                'values': [
                    { 'header': 'a', 'value': '1' }
                    , { 'header': 'b', 'value': '2' }
                    , { 'header' : 'c', 'value' : '3' }
                ]
            }
            , { 'values': [
                    { 'header': 'a', 'value': '4' }
                    , { 'header': 'b', 'value': '5' }
                    , { 'header' : 'c', 'value' : '6' }
                ]
            }
            , {
                'values': [
                    { 'header': 'a', 'value': '1' }
                    , { 'header': 'b', 'value': '2' }
                    , { 'header': 'c', 'value': '3' }
                ]
            }
            , {
                'values': [
                    { 'header': 'Prénom', 'value': 'Roger' }
                    , { 'header': 'b', 'value': '2' }
                    , { 'header': 'c', 'value': '3' }
                ]
            }
        ]
    }

注意:@@是ASP.Net转义@

1 个答案:

答案 0 :(得分:2)

您可以将变量传递到Dust部分,以将它们范围扩展到该部分。因此,解决方案是传递父{†$idx,以便您可以在嵌套部分中使用它。

此代码经过测试可用。

{#rows}
      <tr>
          {#.values rowIndex=$idx} {! Here I am passing "rowIndex" into this section !}
          <td data-header="{header}" data-editable="{@math key=rowIndex method="mod" operand=2}{@eq value=0}true{:else}false{/eq}{/math}">
              {value}
          </td>
          {/.values}
      </tr>
{/rows}