Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mustache/jQuery/javascript-如何对Mustache变量执行方法?_Javascript_Jquery_Mustache - Fatal编程技术网

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既快速又简单。我就这么做了,谢谢!