Как перебирать массив в шаблоне дескриптора без определенного имени в модели - программирование
Подтвердить что ты не робот

Как перебирать массив в шаблоне дескриптора без определенного имени в модели

У меня есть модель:

[
  {
    "ID": 5,
    "email": "[email protected]"
  },
  {
    "ID": 6495,
    "email": "[email protected]"
  }
]

Код для итерации в ручках:

   {{#each xxx}}
    <p>{{email}}</p>
   {{/each}}

как определить xxx?

Если JSON имеет имя в модели, например:

   users: [
      {
        "ID": 5,
        "email": "[email protected]"
      },
      {
        "ID": 6495,
        "email": "[email protected]"
      }
    ]

Я бы просто перебирал в руле вроде:

   {{#each users}}
    <p>{{email}}</p>
   {{/each}}
4b9b3361

Ответ 1

Если у вас есть это:

var a = [
  {
    "ID": 5,
    "email": "[email protected]"
  },
  {
    "ID": 6495,
    "email": "[email protected]"
  }
];

Затем просто укажите нужное имя при вызове скомпилированного шаблона:

var t = Handlebars.compile($('#t').html());
var h = t({ users: a });

Это оставит вас с вашим желаемым HTML в h.

Демо: http://jsfiddle.net/ambiguous/ZgVjz/

Если у вас есть сборник, созданный из данных:

var c = new C(a);

Затем вы вызываете шаблон следующим образом:

var h = t({ users: c.toJSON() });

Демо: http://jsfiddle.net/ambiguous/uF3tj/

Ответ 2

Это тоже работает:

{{#each this}}
<p>{{email}}</p>
{{/each}}