在dust.js中,$ idx的初始值是不是基于零?

时间:2013-02-08 20:56:18

标签: javascript templates dust.js

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

{@idx}{.}{/idx}

{$idx}

基于零。

有没有人知道这样做的方法?

如果你能这样做,那将是完美的:

{$idx + 1}

但显然这不起作用。

3 个答案:

答案 0 :(得分:10)

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

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

答案 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的循环。

答案 2 :(得分:1)

将数学助手放在{@idx}

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