0

我正在迭代一个数组对象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...
    },

  });
}
4

1 回答 1

0

不幸的是,Handlebars 在这些方面做得很差,我认为您需要像您正在做的那样做一些自定义助手。

我建议编写你自己的块助手,它接受三个参数并执行基本的逻辑检查(如和、或、大于、小于、模数),例如:

{{#ifCond varOne "%" 2}}
{{/ifCond}}

ifCond 辅助实现有一个 switch case 来处理不同的操作符。

于 2017-08-10T18:44:20.360 回答