在 0.8 版之前,可以使用常规的 Handlebars 方式来定义迭代块助手,例如流行的each_with_key
、已定义的,例如,如下所示:
Handlebars.registerHelper("each_with_key", function(obj, fn) {
var context,
buffer = "",
key,
keyName = fn.hash.key;
for (key in obj) {
if (obj.hasOwnProperty(key)) {
context = obj[key];
if (keyName) {
context[keyName] = key;
}
buffer += fn(context);
}
}
return buffer;
});
这在 0.8 中不再有效,迁移指南和 空格键文档都没有显示此示例。
鉴于块助手现在被视为包含,并且包含需要返回一个模板(或 null),而不是 HTML,我对此时是否以及如何实现这一点一无所知。