Mustache/jQuery/javascript-如何对Mustache变量执行方法?
我有一个简单的小胡子模板设置,它接受一个对象Mustache/jQuery/javascript-如何对Mustache变量执行方法?,javascript,jquery,mustache,Javascript,Jquery,Mustache,我有一个简单的小胡子模板设置,它接受一个对象player,并创建一个列表元素。对mustache中的变量执行javascript方法的最佳方法是什么?下面是一些示例代码: var playerTemplate = '<li><span class="player-position">{{ position }}</span><span class="player-name">{{ first_name }} {{ last_name }}</
player
,并创建一个列表元素。对mustache中的变量执行javascript方法的最佳方法是什么?下面是一些示例代码:
var playerTemplate = '<li><span class="player-position">{{ position }}</span><span class="player-name">{{ first_name }} {{ last_name }}</span></li>';
var playerRow = Mustache.to_html(playerTemplate, player);
$('ul#players-list').append(playerRow);
我不想更改对象本身,因为我可能希望{{position}}在其他情况下不是大写的。关于最干净最聪明的方法有什么建议吗
非常感谢。小胡子故意非常简单(“无逻辑模板”),所以您可以做的事情不多。一个选项是添加
positionUC
属性:
player.positionUC = player.position.toUpperCase();
然后在模板中:
{{positionUC}}
{{#uc}}{{position}}{{/uc}}
您还可以添加以下功能:
// Note that render(text) will be HTML though...
player.uc = function(text, render) { return render(text).toUpperCase() };
然后在模板中:
{{positionUC}}
{{#uc}}{{position}}{{/uc}}
也许你可以切换到大写字母并添加一个助手。哦,对了,这是关于无逻辑性的一个好观点。添加positionUC既快速又简单。我就这么做了,谢谢!