胡须自定义功能

Mustache custom function

本文关键字:功能 自定义 胡须      更新时间:2023-09-26

试图让胡子函数工作,我有这个javascript:

item = {
    email: 'asdfasdaf',
    trim: function(){return function(text, render){ return render(text); }}
    }

这是我的模板中的内容:

{{#trim}} {{email}} {{/trim}}
<br/>
{{email}}

这只会呈现一次电子邮件值。 未调用该函数。 这是为什么呢? 这是根据我找到的所有文档。

谢谢!

你的代码看起来不错。 也许您设置不正确。 您的完整代码应如下所示。 请注意,我添加了 <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>