我在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}}");
但是由于可重用性,我真的想用部分做。为什么我不能给这个部分一个空数组?
谢谢!