如何给Handlebars / Moustache部分提供一个空数组?

时间:2013-11-15 14:42:18

标签: javascript handlebars.js mustache partials

我在Handlebars.js中有部分问题。

这是我的模板和可重复使用的部分:

Handlebars.registerPartial("children", "{{#child}}[{{age}}]{{/child}}");
var children = Handlebars.compile("{{name}} -> {{>children}}");

这是我的第一个数据:

children({
  "name": "Alice",
  "child": [{
    "age": 6
  }, {
    "age": 11
  }]
});

这导致预期和正确的输出:

 Alice -> [6][11]

但是当我将以下数据与空数组一起使用时:

children({
  "name": "Bob",
  "child": []
});

使用此数据,我将收到错误消息:

Error: You must pass a string or Handlebars AST to Handlebars.compile. You passed function (context, options) {if (!compiled) { compiled = compileInput(); } return compiled.call(this, context, options); }

但我期望输出“Bob - >”......

当我不使用像这样的部分做法时,一切正常:

var children = Handlebars.compile("{{name}} -> {{#child}}[{{age}}]{{/child}}");

但是由于可重用性,我真的想用部分做。为什么我不能给这个部分一个空数组?

谢谢!

0 个答案:

没有答案