瀏覽代碼

nice clean up to render_section, as suggested by @esbie

tags/0.4.0
Ben Cherry 15 年之前
父節點
當前提交
6438149345
共有 1 個文件被更改,包括 25 次插入19 次删除
  1. +25
    -19
      mustache.js

+ 25
- 19
mustache.js 查看文件

@@ -187,35 +187,41 @@ var Mustache = function() {
var renderedBefore = before ? that.render_tags(before, context, partials, true) : "",

// after may contain both sections and tags, so use full rendering function
renderedAfter = after ? that.render(after, context, partials, true) : "";
renderedAfter = after ? that.render(after, context, partials, true) : "",

var value = that.find(name, context);
if(type == "^") { // inverted section
if(!value || that.is_array(value) && value.length === 0) {
// will be computed below
renderedContent,

value = that.find(name, context);

if (type === "^") { // inverted section
if (!value || that.is_array(value) && value.length === 0) {
// false or empty list, render it
return renderedBefore + that.render(content, context, partials, true) + renderedAfter;
renderedContent = that.render(content, context, partials, true);
} else {
return renderedBefore + "" + renderedAfter;
renderedContent = "";
}
} else if(type == "#") { // normal section
if(that.is_array(value)) { // Enumerable, Let's loop!
return renderedBefore + that.map(value, function(row) {
} else if (type === "#") { // normal section
if (that.is_array(value)) { // Enumerable, Let's loop!
renderedContent = that.map(value, function(row) {
return that.render(content, that.create_context(row), partials, true);
}).join("") + renderedAfter;
} else if(that.is_object(value)) { // Object, Use it as subcontext!
return renderedBefore + that.render(content, that.create_context(value),
partials, true) + renderedAfter;
} else if(typeof value === "function") {
}).join("");
} else if (that.is_object(value)) { // Object, Use it as subcontext!
renderedContent = that.render(content, that.create_context(value),
partials, true);
} else if (typeof value === "function") {
// higher order section
return renderedBefore + value.call(context, content, function(text) {
renderedContent = value.call(context, content, function(text) {
return that.render(text, context, partials, true);
}) + renderedAfter;
} else if(value) { // boolean section
return renderedBefore + that.render(content, context, partials, true) + renderedAfter;
});
} else if (value) { // boolean section
renderedContent = that.render(content, context, partials, true);
} else {
return renderedBefore + "" + renderedAfter;
renderedContent = "";
}
}

return renderedBefore + renderedContent + renderedAfter;
});
},



Loading…
取消
儲存