问题描述
我正在使用HandleBar模板。我有一个部分叫做“表”。我在模板中多次使用“部分”生成动态表和行。
我希望每个表的每一行都有唯一的索引。 @index
将无济于事,因为我还需要其他表的唯一键。例如:
Table 1 Index Name ---------- 1 ABC 2 XYZ Table 2 -------- Index Name 3 ABC 4 XYZ` {{> table tableData=table1 cardinal=1}} {{> table tableData=table2 cardinal=1}}
我尝试使用此帮助器来递增变量,但是它的值不可用于下一个表。
Handlebars.registerHelper("increment",function (value) {
return parseInt(value) + 1;
});
希望这很有道理!
解决方法
如果省略了increment
参数,则您的value
助手就足够了。该参数将强制您的子部件知道起始编号,但这正是导致您创建帮助程序的问题-您的子部件不知道起始编号。
如果您创建一个变量来保存增量计数,并让助手使该值递增,并在每次调用它时将其返回,则将可以正常工作。助手将变为:
let count = 0;
Handlebars.registerHelper("increment",function () {
return ++count;
});
它可以从模板或部分中调用,就像{{ increment }}
。
我创建了一个fiddle供参考。