自定义 Express 车把 If Helper
Custom Express Handlebars If Helper
我正在使用 express-handlebars
遍历一个数组对象,并且只有每秒创建的 dom 元素应该有一个特定的属性。
像这样:
<div class=""></div>
<div></div>
<div class=""></div>
<div></div>
我注意到有一个包含迭代索引的 @size
值。
到目前为止,我的代码如下所示:
{{#each todoGroups}}
{{#if @index}}
<div class=""></div>
{{/if}}
{{/each}}
但是我如何在 if 语句中添加一个条件,它只计算每第二个项目的 true
?
我一直在尝试实现此功能,这是我目前的方法:
function hbsHelpers(hbs) {
return hbs.create({
helpers: { // This was missing
isEven: function(value, options) {
},
// More helpers...
},
});
}
不幸的是,Handlebars 在这些事情上很糟糕,我认为您需要像您正在做的那样做一些自定义助手。
我建议编写你自己的块助手,它接受三个参数并执行基本的逻辑检查(比如和、或、大于、小于、模数),比如:
{{#ifCond varOne "%" 2}}
{{/ifCond}}
并且 ifCond 帮助器实现有一个 switch case 来处理不同的运算符。
我正在使用 express-handlebars
遍历一个数组对象,并且只有每秒创建的 dom 元素应该有一个特定的属性。
像这样:
<div class=""></div>
<div></div>
<div class=""></div>
<div></div>
我注意到有一个包含迭代索引的 @size
值。
到目前为止,我的代码如下所示:
{{#each todoGroups}}
{{#if @index}}
<div class=""></div>
{{/if}}
{{/each}}
但是我如何在 if 语句中添加一个条件,它只计算每第二个项目的 true
?
我一直在尝试实现此功能,这是我目前的方法:
function hbsHelpers(hbs) {
return hbs.create({
helpers: { // This was missing
isEven: function(value, options) {
},
// More helpers...
},
});
}
不幸的是,Handlebars 在这些事情上很糟糕,我认为您需要像您正在做的那样做一些自定义助手。
我建议编写你自己的块助手,它接受三个参数并执行基本的逻辑检查(比如和、或、大于、小于、模数),比如:
{{#ifCond varOne "%" 2}}
{{/ifCond}}
并且 ifCond 帮助器实现有一个 switch case 来处理不同的运算符。