每次从 handlebar 模板调用 partial 时如何传递唯一的增量值
How to pass unique incremental value every time when partial is called from the handlebar template
我正在使用 HandleBar 模板。我有一个名为“table”的部分。我在我的模板中多次使用这个“部分”来生成动态 table 和行。
我希望每个 table 的每一行都有一个唯一索引。 @index
不会有帮助,因为我也需要其他 table 的唯一密钥。例如:
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}}
我尝试使用此帮助器增加变量,但它的值不可用于下一个 table。
Handlebars.registerHelper("increment", function (value) {
return parseInt(value) + 1;
});
希望这是有道理的!
如果您省略 value
参数,您的 increment
助手就足够了。该参数强制您的分音器知道起始编号应该是什么,但这正是导致您创建帮助程序的问题 - 您的分音器不知道起始编号。
如果您创建一个变量来保存递增计数并让助手递增此值并 return 它每次被调用时,这将工作得很好。助手变为:
let count = 0;
Handlebars.registerHelper("increment", function () {
return ++count;
});
它会从模板或部分调用,就像:{{ increment }}
.
我创建了一个fiddle供参考。
我正在使用 HandleBar 模板。我有一个名为“table”的部分。我在我的模板中多次使用这个“部分”来生成动态 table 和行。
我希望每个 table 的每一行都有一个唯一索引。 @index
不会有帮助,因为我也需要其他 table 的唯一密钥。例如:
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}}
我尝试使用此帮助器增加变量,但它的值不可用于下一个 table。
Handlebars.registerHelper("increment", function (value) {
return parseInt(value) + 1;
});
希望这是有道理的!
如果您省略 value
参数,您的 increment
助手就足够了。该参数强制您的分音器知道起始编号应该是什么,但这正是导致您创建帮助程序的问题 - 您的分音器不知道起始编号。
如果您创建一个变量来保存递增计数并让助手递增此值并 return 它每次被调用时,这将工作得很好。助手变为:
let count = 0;
Handlebars.registerHelper("increment", function () {
return ++count;
});
它会从模板或部分调用,就像:{{ increment }}
.
我创建了一个fiddle供参考。