试着让小胡子功能起作用,我有这个javascript:
item = {
email: 'asdfasdaf',
trim: function(){return function(text, render){ return render(text); }}
}
以下是我的模板中的内容:
{{#trim}} {{email}} {{/trim}}
<br/>
{{email}}
这只会呈现一次电子邮件值。该函数未被调用。为什么是这样?这是根据我发现的所有文档。
谢谢!
答案 0 :(得分:0)
您的代码看起来很好。也许你正在设置错误的东西。您的完整代码应如下所示。注意我添加了<b>
标签以显示正在调用的函数,第一项是粗体。
var item = {
email: 'asdfasdaf',
trim: function() {
return function(text, render) {
return '<b>' + render(text) + '</b>';
}
}
}
var template = $('#item').html();
Mustache.parse(template);
var rendered = Mustache.render(template, item);
$('#main').html(rendered);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/2.1.0/mustache.min.js"></script>
<div id="main">
</div>
<script id="item" type="x-tmpl-mustache">
{{#trim}} {{email}} {{/trim}}
<br/>{{email}}
</script>