rot*_*oto 5 javascript lambda mustache tofixed
我正在尝试设置一个mustache.js模板,使用lambda将数字格式化为特定的小数位,我遇到了问题.给定一个看起来像这样的对象:
{
x: 123,
points: [
{ name: "foo", y: 1.234567 },
{ name: "bar", y: 2.123456 },
{ name: "fax", y: 3.623415 }
]
}
Run Code Online (Sandbox Code Playgroud)
首先,我尝试设置一个模板,看起来像:
var template = "{{x}}{{#points}}<br/>{{name}}, {{#y.toFixed}}2{{/y.toFixed}}";
Run Code Online (Sandbox Code Playgroud)
这不起作用(生成一个空的空间,数字应该是.我可能lambda不是正确的格式,因为toFixed不返回一个函数(胡子文档).所以我尝试:
Number.prototype.toMustacheFixed = function(){
var n = this;
return function(d){ return n.toFixed(d); };
};
var template = "{{x}}{{#points}}<br/>{{name}}, {{#y.toMustacheFixed}}2{{/y.toMustacheFixed}}"
Run Code Online (Sandbox Code Playgroud)
再次,失败.我甚至尝试将toMustacheFixed函数简化为:
Number.prototype.toMustacheFixed = function(){
return function(){ return 123.45; };
};
Run Code Online (Sandbox Code Playgroud)
这没有用.模板中我还是一片空白.那么,Mustache.js可以不处理数字上的原生函数和原型函数,还是我做错了什么?
小智 10
试试这个:http://jsfiddle.net/QXFY4/10/
我完成了你的部分: {{/points}}
我toFixed在http://mustache.github.com/mustache.5.html的Lambdas部分添加了一个与该示例相对应的函数
有了这个,我能够{{y}}通过解析浮点数并在其上调用toFixed 来改变渲染.
| 归档时间: |
|
| 查看次数: |
6217 次 |
| 最近记录: |