我有一个简单的胡子模板设置,它接受一个对象player并创建一个list元素。在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.toUpperCase() }}我不想改变对象本身,因为我可能希望{{ position }}在其他情况下不是大写的。有什么关于最干净最聪明的方法的建议吗?
非常感谢。
发布于 2011-12-11 07:50:38
Mustache故意非常简单(“无逻辑模板”),所以你可以做的并不多。一种选择是添加一个positionUC属性:
player.positionUC = player.position.toUpperCase();然后在模板中:
{{positionUC}}您还可以添加函数:
// Note that render(text) will be HTML though...
player.uc = function(text, render) { return render(text).toUpperCase() };然后在模板中:
{{#uc}}{{position}}{{/uc}}也许你可以切换到Handlebars,并添加一个大写的帮助器。
https://stackoverflow.com/questions/8460720
复制相似问题