如何让Handlebars模板中@index从1开始而非0
Handlebars遍历订单元素时让索引从1起始的实现方法
要让Handlebars遍历order.line_items时的索引从1开始,有两种常用方案:
方案一:自定义加法Helper(原生Handlebars通用)
原生Handlebars不支持直接在模板中进行算术运算,需要先在后端Handlebars初始化代码里注册一个加法辅助函数:
Handlebars.registerHelper('add', function(num1, num2) { return num1 + num2; });
之后在模板中调用这个Helper实现索引加1:
{{#each order.line_items as |li|}} <tr> <td>{{add @index 1}}</td> <!-- 其他列代码 --> </tr> {{/each}}
方案二:使用支持表达式运算的Handlebars扩展
如果你的后端订单系统用的是支持直接算术表达式的Handlebars衍生版本(比如部分电商平台定制的模板引擎),可以直接在模板中写加法逻辑:
{{#each order.line_items as |li|}} <tr> <td>{{@index + 1}}</td> <!-- 其他列代码 --> </tr> {{/each}}
两种方案都能实现索引从1起始的效果,优先推荐方案一,因为它兼容所有原生Handlebars环境。
内容的提问来源于stack exchange,提问作者bigebro
相关产品推荐
相关产品推荐

