Методы вызова переменной усов в шаблоне

У меня есть шаблон усов, и я хотел бы вызвать некоторую функцию для переменных усов (в данном случае {{name}}). В частности, я хочу вызвать метод toLowerCase() для переменной имени.

<tbody>
  <script id="mytemplate" type="text/template">
    {{#cat}}
      <tr data-index="{{age}}-{{name}}"></tr>
    {{/cat}}
  </script>
</tbody>

Я пытался искать в документах по усам, но я не мог узнать, как это сделать. я пытался сделать

  1. <tr data-index="{{age}}-{{name.toLowerCase()}}"></tr>
  2. <tr data-index="{{age}}-{{name}}.toLowerCase()"></tr>

Но я не получаю того, что ожидаю. Я визуализирую шаблон с этим кодом, который срабатывает при готовности документа.

$(function() {
      $.getJSON('/cats.json', function(data){
        var template = $("#mytemplate").html();
        var view     = Mustache.to_html(template, data);
        $("tbody").html(view);
      });
  })

person gprasant    schedule 06.12.2013    source источник
comment
Объясните часть «не работает, как ожидалось»... просто увидев свой код, вы должны попытаться перевести имена в нижний регистр перед отображением данных в шаблоне;)   -  person Hackerman    schedule 06.12.2013
comment
не работает, как в - не отображает имя в нижнем регистре. Я уверен, что я делаю что-то не так здесь.   -  person gprasant    schedule 06.12.2013


Ответы (1)


вам нужно передать функцию как часть данных, например:

$(function() {
      $.getJSON('/cats.json', function(data){
        data.lower = function () {
          return function (text, render) {
             //wrong line return render(text.toLowerCase());
             return render(text).toLowerCase();
          }
        };
        var template = $("#mytemplate").html();
        var view     = Mustache.to_html(template, data);
        $("tbody").html(view);
      });
  })

и шаблон:

<tr data-index="{{age}}-{{#lower}}{{name}}{{/lower}}"></tr>
person kalley    schedule 06.12.2013
comment
Черт, мне нужно больше кофе. Я видел эту часть ридми. не знаю, почему я не реализовал это, хотя! - person gprasant; 06.12.2013