首页 > 解决方案 > 每次从车把模板调用部分时如何传递唯一的增量值

问题描述

我正在使用 HandleBar 模板。我有一个名为“表”的部分。我在我的模板中多次使用这个“部分”来生成动态表和行。

我想为每个表的每一行都有一个唯一索引。@index不会有帮助,因为我也需要其他表的唯一键。例如:

表格1

索引名称
----------
1个ABC
2 XYZ


表 2
--------
索引名称
3 ABC
4 XYZ`


{{> 表 tableData=table1 基数=1}}

{{> 表 tableData=table2 基数=1}}
 

我尝试使用此帮助程序增加变量,但它的值不适用于下一个表。

Handlebars.registerHelper("increment", function (value) {
     return parseInt(value) + 1;
});

希望这是有道理的!

标签: node.jshandlebars.jsexpress-handlebarshandlebarshelper

解决方案


increment如果您省略了value参数,您的助手就足够了。该参数强制您的部分知道起始编号应该是什么,但这正是导致您创建助手的问题 - 您的部分不知道起始编号。

如果您创建一个变量来保存增量计数,并让助手递增该值并在每次调用时返回它,这将正常工作。助手变成:

let count = 0;
Handlebars.registerHelper("increment", function () {
     return ++count;
});

它会从模板或部分调用,就像:{{ increment }}.

我创建了一个小提琴供参考。


推荐阅读