部分/模板继承如何在Mustache中工作?

时间:2015-01-05 10:03:05

标签: javascript mustache hogan.js

我不太了解Mustache / Hogan.js的部分/模板继承。根据定义的herehere,您似乎必须拥有两个不同的文件才能使其发挥作用。我在我的(客户端)页面中使用它如下:

<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 个答案:

答案 0 :(得分:0)

docs表示您必须单独编译部分内容,然后将它们传递给render函数:

  

在mustache.js中,partials的对象可以作为第三个传递   Mustache.render的论点。该对象应以名称键入   partial,它的值应该是部分文本。

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>