Списки подсчета усов?

#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));
  

http://jsfiddle.net/mblase75/QBzuk/

Ответ №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) «