我有以下在 jQuery 中处理 AJAX 成功回调的函数:
function success(data) {
var templateData = {
items: data,
formatMoney: function () {
return function (value) {
return Globalization.format(value, 'N');
};
}
};
// fill reports table
var filledTable = tableTemplate.render(templateData);
$tableContainer.html(filledTable);
}
这是我的模板的样子:
{#Items}}
<tr>
<td>{{ProductId}}</td>
<td>{{#formatMoney}}{{Cost}}{{/formatMoney}}</td>
</tr>
{{/Items}}
问题是我得到 {{Cost}} 而不是 Cost 的值。我知道这就是它在 mustache 手册 (http://mustache.github.com/mustache.5.html) 中描述的工作方式,但我想获得这个值。
this
将指向我的产品对象,因此我可以使用成本,this.Cost
但这是一个简单的情况,我有许多对象类型具有许多需要格式化的属性,因此我需要一个通用的解决方案来保持东西DRY。
我也可以在服务器端进行计算,但我更喜欢在客户端执行此操作,因为我不仅将这些数据与 hogan 一起使用,而且还用于客户端的其他计算。
是否有更直接、通用和客户端的方式来获取 Cost 的值而不是未渲染的文字块?