gpr*_*ant 5 javascript jquery mustache
我有一个小胡子模板,我想在胡子变量上调用一些函数(在本例中为{{name}}).具体来说,我想在name变量上调用toLowerCase()方法.
<tbody>
<script id="mytemplate" type="text/template">
{{#cat}}
<tr data-index="{{age}}-{{name}}"></tr>
{{/cat}}
</script>
</tbody>
Run Code Online (Sandbox Code Playgroud)
我试着查看小胡子文档,但我找不到如何做到这一点.我试过了
<tr data-index="{{age}}-{{name.toLowerCase()}}"></tr><tr data-index="{{age}}-{{name}}.toLowerCase()"></tr>但我没有达到我的期望.我使用此代码渲染模板,该代码在文档就绪时触发.
$(function() {
$.getJSON('/cats.json', function(data){
var template = $("#mytemplate").html();
var view = Mustache.to_html(template, data);
$("tbody").html(view);
});
})
Run Code Online (Sandbox Code Playgroud)
你需要将函数作为数据的一部分传递,如下所示:
$(function() {
$.getJSON('/cats.json', function(data){
data.lower = function () {
return function (text, render) {
//wrong line return render(text.toLowerCase());
return render(text).toLowerCase();
}
};
var template = $("#mytemplate").html();
var view = Mustache.to_html(template, data);
$("tbody").html(view);
});
})
Run Code Online (Sandbox Code Playgroud)
和模板:
<tr data-index="{{age}}-{{#lower}}{{name}}{{/lower}}"></tr>
Run Code Online (Sandbox Code Playgroud)