Handlebars.js使用Handle遍历循环而不丢失数据

时间:2019-04-08 06:17:49

标签: javascript reactjs handlebars.js

我正在尝试使用Handlebars.js遍历“ for”循环,但是在循环内部,我无法检索传递到模板的数据。这是我尝试的方法:

对于循环功能:

Handlebars.registerHelper('for', function (from, to, incr, block) {
  var accum = '';
  for (var i = from; i < to; i += incr)
    accum += block.fn(i);
  return accum;
});

模板文件:

{{#for 0 10 2}}
 <tr>
  <td class="p-0">
   <input class="form-control" data-position="B5_{{id}}_{{B5.id}}" type="text" {{#if B5.isReadOnly}} readonly {{/if}} value="{{B5.value}}"/>
  </td>
 </tr>
{{/for}}

在循环内部,我无法检索通常在外部工作的{{id}}或{{B5.id}}。

这是我将数据传递到模板的方式:

 export function renderSheet(template, data) {
      try {
        return Handlebars.compile(template)(data);
      } catch (e) {
        console.error(e);
        return null;
      }
    }

请帮助我找出这里的问题。我将不胜感激。

更新 谢谢评论,我现在可以在循环内访问数据,但是我遇到了另一个问题,即如何在for循环内获取当前的“ i”值?例如:

{{#each @root.A5.value}}

如何用当前的i值替换5?

0 个答案:

没有答案