首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mustache/jQuery/javascript -如何在mustache变量上执行方法?

Mustache/jQuery/javascript -如何在mustache变量上执行方法?
EN

Stack Overflow用户
提问于 2011-12-11 07:23:09
回答 1查看 3.6K关注 0票数 6

我有一个简单的胡子模板设置,它接受一个对象player并创建一个list元素。在mustache中的变量上执行javascript方法的最好方法是什么?下面是一些示例代码:

代码语言: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);

我想要做的是:

代码语言:javascript
复制
{{ position.toUpperCase() }}

我不想改变对象本身,因为我可能希望{{ position }}在其他情况下不是大写的。有什么关于最干净最聪明的方法的建议吗?

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-11 07:50:38

Mustache故意非常简单(“无逻辑模板”),所以你可以做的并不多。一种选择是添加一个positionUC属性:

代码语言:javascript
复制
player.positionUC = player.position.toUpperCase();

然后在模板中:

代码语言:javascript
复制
{{positionUC}}

您还可以添加函数:

代码语言:javascript
复制
// Note that render(text) will be HTML though...
player.uc = function(text, render) { return render(text).toUpperCase() };

然后在模板中:

代码语言:javascript
复制
{{#uc}}{{position}}{{/uc}}

也许你可以切换到Handlebars,并添加一个大写的帮助器。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8460720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档