node.js - 每次从车把模板调用部分时如何传递唯一的增量值
问题描述
我正在使用 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;
});
希望这是有道理的!
解决方案
increment
如果您省略了value
参数,您的助手就足够了。该参数强制您的部分知道起始编号应该是什么,但这正是导致您创建助手的问题 - 您的部分不知道起始编号。
如果您创建一个变量来保存增量计数,并让助手递增该值并在每次调用时返回它,这将正常工作。助手变成:
let count = 0;
Handlebars.registerHelper("increment", function () {
return ++count;
});
它会从模板或部分调用,就像:{{ increment }}
.
我创建了一个小提琴供参考。
推荐阅读
- qt - 带有 Timer 的 Qml 函数工作错误
- php - 将带有 Content-Disposition 标头的消息抑制到文件输出
- python - 如何使用谷歌翻译/谷歌云获取印地语语音
- django - 专门用于 ajax 调用的基于函数的视图
- android - 为什么工具栏后退按钮不起作用?
- php - 尽管存在该页面,但仍出现错误 404 Codeigniter
- forms - 从所需输入列表中进行选择
- javascript - 如何使用图像作为 chart.js 图例的键
- html - 如何在引导程序中将图像居中于 2 列
- ios-camera - 如何在最新型号的 iPhone 上获得比 4K 更高分辨率的视频?(这里是菜鸟)