Просмотр исходного кода

nice clean up to render_section, as suggested by @esbie

tags/0.4.0
Ben Cherry 15 лет назад
Родитель
Сommit
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;
});
},



Загрузка…
Отмена
Сохранить