Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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
Javascript Mustache.js lambdas和数字格式设置为固定_Javascript_Lambda_Mustache_Tofixed - Fatal编程技术网

Javascript Mustache.js lambdas和数字格式设置为固定

Javascript Mustache.js lambdas和数字格式设置为固定,javascript,lambda,mustache,tofixed,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 } ] } 首先,我尝试设置一个模板,如下所示: v

我正在尝试设置一个mustache.js模板,该模板使用lambda将数字格式化为特定的小数位数,我遇到了一些问题。给定一个如下所示的对象:

{
     x: 123,
     points: [
          { name: "foo", y: 1.234567 },
          { name: "bar", y: 2.123456 },
          { name: "fax", y: 3.623415 }
     ]
}
首先,我尝试设置一个模板,如下所示:

var template = "{{x}}{{#points}}<br/>{{name}}, {{#y.toFixed}}2{{/y.toFixed}}";
这没用。我在模板中仍然得到一个空白。那么,Mustache.js是否不能处理数字上的本机函数和原型函数,或者我做错了什么

这样试试:

我完成了你的部分:
{{/points}

我添加了一个函数
toFixed
,对应于


有了这个,我可以通过解析浮点并调用toFixed来更改
{{{y}}
的呈现方式。

回答得好,我就是这么做的,你比我写的更好。很好。这也是我得出的结论(但我不想成为那个回答自己问题的人)。谢谢
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}}"
Number.prototype.toMustacheFixed = function(){
     return function(){ return 123.45; };
};