Как работает Partials / Шаблон наследования в усах?

Я не очень понимаю партиалы / наследование шаблонов из Mustache / Hogan.js. Как определено здесь и здесь, у вас должно быть два разных файла, чтобы это работало. Я использую это следующим образом на моей (клиентской) странице:

<template id="server-template"> {{#servers}} <b>some html and {{> some other which I dont understand how to use}}</b> {{/servers}} </template> <template id="room-template"> I want this in up there. (in the "partials" tag) </template>

Спасибо за помощь. Я собираю их с этим:

var source = $('#room-template').html(), compiled = Hogan.compile(source) $('#main').html(compiled.render(data))

Это вообще возможно?

1 ответ

Решение

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

В mustache.js объект частичных значений может быть передан в качестве третьего аргумента Mustache.render. Объект должен быть обозначен именем частичного, а его значение должно быть частичным текстом.

var roomTemplateSource = $('#room-template').html();
var roomTemplate = Mustache.compile(roomTemplateSource);
Mustache.render(template, view, {
  room: roomTemplate
});

<template id="server-template">
        {{#servers}}
        <b>some html and {{> room}}</b>
        {{/servers}}
</template>
Другие вопросы по тегам