#mustache
#усы
Вопрос:
Давайте возьмем этот фрагмент:
{{#repos}}
<b>{{name}}</b>
{{/repos}}
Как я могу подсчитать количество элементов в repos
?
Ответ №1:
Один из способов — добавить логику к самому JSON в виде функции на this
:
var tmpl = "{{#repos}}<b>{{name}}</b>{{/repos}}({{count}})";
var json = {
repos: [{ name: "Tom"}, { name: "Dick"}, { name: "Harry"}],
count: function() { return this.repos.length; }
};
alert(Mustache.to_html(tmpl, json));
Ответ №2:
По крайней мере, для меня я смог использовать функцию «.length» напрямую, вот так: (тестировалось с Mustache версии 0.8.1)
var tmpl = "{{#repos}}<b>{{name}}</b>{{/repos}} ({{repos.length}})";
var json = {
repos: [{ name: "Tom"}, { name: "Dick"}, { name: "Harry"}]
};
alert(Mustache.to_html(tmpl, json));
Выдает предупреждения « <b>Tom</b><b>Dick</b><b>Harry</b> (3)
«