【问题标题】:In dust.js can the inital value of $idx not be zero based?在dust.js 中,$idx 的初始值不能从零开始吗?
【发布时间】:2013-02-08 20:56:17
【问题描述】:

如果我使用索引助手是否可以让计数从 1 而不是 0 开始。两者:

{@idx}{.}{/idx}

{$idx}

从零开始。

有人知道怎么做吗?

如果你能做到就完美了:

{$idx + 1}

但显然这行不通。

【问题讨论】:

标签: javascript templates dust.js


【解决方案1】:

我猜你可以将数学助手与 $idx 结合使用:

{@math key=$idx method="add" operand="1"/}

【讨论】:

    【解决方案2】:

    要在灰尘模板中使用@math,您需要添加默认情况下从灰尘核心包中排除的灰尘助手。

    在节点中“加载”除尘助手所需的具体语法是:

    var dust = require('dustjs-linkedin');
    dust.helper = require('dustjs-helpers');
    

    如果您无法添加这些帮助程序,这将是一个非常奇怪的决定,但您仍然可以像这样在当前代码库中创建自己的函数,可以使用它来代替 @gt 或 @math

    var baseContext = dust.makeBase({
        position: function(chunk, context) {
            return context.stack.index + 1;
        },
      });
    

    现在您可以使用 {position} 而不是 ${idx} 来计算从 1 到 n 的循环。

    【讨论】:

      【解决方案3】:

      将数学助手放入 {@idx}

      <table>
      {#names}
      <tr><td>{@idx}{@math key="{$idx}" method="add" operand="1"/}{/idx}</td>
          <td>{name}</td>
      </tr>
      {/names}
      </table>
      

      【讨论】:

        猜你喜欢
        • 2023-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-29
        • 2018-12-01
        • 2021-06-13
        • 1970-01-01
        相关资源
        最近更新 更多