Javascript 在Mustache JS中包含一部分

Javascript 在Mustache JS中包含一部分,javascript,mustache,Javascript,Mustache,我在var模板中有一个html模板,在var obj中有一个对象 我在Javascript中调用我的模板,如下所示 var html = Mustache.render(template, obj, { templateRef: "path/template" }); 如果I console.loghtml,原始模板将完美显示,但部分(templateRef)部分根本不会呈现。 在我的模板中,我有一个对部分的引用,如下所示: {{> templateRef}} 我试图将该部分放在同

我在
var模板
中有一个html模板,在
var obj
中有一个对象 我在Javascript中调用我的模板,如下所示

var html = Mustache.render(template, obj, {
  templateRef: "path/template"
});
如果I console.log
html
,原始模板将完美显示,但部分(templateRef)部分根本不会呈现。

在我的模板中,我有一个对部分的引用,如下所示:

{{> templateRef}}
我试图将该部分放在同一级别(删除路径)、包括扩展名(.mustache)等,但似乎没有任何效果。


有人知道我遗漏了什么吗?

编辑答案,与胡子有关(不是把手-我的错误)。您应该能够将部分模板传递到主模板中,如下所示:

var data = {
    firstName: "Christophe",
    lastName: "Coenraets",
    address: "1 Main street",
    city: "Boston",
    state: "MA",
    zip: "02106"
};

var template = "<h1>{{firstName}} {{lastName}}</h1>{{>address}}";
var partials = {address: "<p>{{address}}</p>{{city}}, {{state}} {{zip}}"};
var html = Mustache.to_html(template, data, partials);
$('#sampleArea').html(html);
var数据={
名字:“克里斯托弗”,
姓氏:“科恩雷茨”,
地址:“主街1号”,
城市:“波士顿”,
声明:“马”,
邮政编码:“02106”
};
var template=“{{firstName}}{{lastName}}{{>address}}”;
var partials={address:“{{address}

{{city},{{state}}{{zip}}”; var html=Mustache.to_html(模板、数据、部分); $('#sampleArea').html(html);
JsFiddle:

参考资料:

Mustache.js似乎不支持:

对象应使用分部名称设置关键帧,其值应为分部文本

您必须检索模板的文本并将其提供给
Mustache.render()
(例如,使用jQuery):


哦,车把胡子的讽刺。更新了我关于胡子的答案-抱歉,谢谢你的关注!我想我脑子里有个把手:)我喜欢你的例子,谢谢,但是如果模板和部分模板都是外部的呢?如果你将模板存储在像
标记这样的东西中,你可以使用jquery使用
$(“#模板名称”).html()收集内容。如果它们存储在一个文件中,考虑预编译您的模板,并通过编译一个JS文件来引用它们。做一些快速搜索,我发现最好的是hogan.js的Mustache(考虑切换到handlebar来实现这个功能。谢谢,当我检索模板的文本时,一切都很好!
$.get('path/template.mustache', function (partialTemplate) {

  var html = Mustache.render(template, obj, {
    templateRef: partialTemplate
  });

  // ...

}, 'text');