自定义 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 来处理不同的运算符。