倒排部分 (^) 在Mustache github上实现,但MustacheDemoIO使用不支持该库的过时版本。在过时的代码中,您可以找到:
// for each {{#foo}}{{/foo}} section do...
return template.replace(regex, function(match, name, content) {
var value = that.find(name, context);
if(that.is_array(value)) { // Enumerable, Let's loop!
return that.map(value, function(row) {
return that.render(content, that.merge(context,
that.create_context(row)), partials, true);
}).join("");
} else if(value) { // boolean section
return that.render(content, context, partials, true);
} else {
return "";
}
});
但是 {{^foo}} {{/foo}} 什么都没有。这就是为什么它停止你的例子。
但这应该不是什么大问题,因为Mustache github上提供的最新版本具有此功能。