Estoy tratando de configurar una plantilla de moustache.js que formatea un número a un lugar decimal específico usando un lambda y me estoy encontrando con problemas. Dado un objeto que se parece a:Moustache.js lambdas y formato de número en Fijo
{
x: 123,
points: [
{ name: "foo", y: 1.234567 },
{ name: "bar", y: 2.123456 },
{ name: "fax", y: 3.623415 }
]
}
En primer lugar he intentado configurar una plantilla que parecía:.
var template = "{{x}}{{#points}}<br/>{{name}}, {{#y.toFixed}}2{{/y.toFixed}}";
Esto no funcionó (generado un espacio vacío en el que el número debería ser yo, aunque . tal vez el lambda no estaba en el formato correcto ya toFixed no devuelve una función (mustache docs) Así que he intentado:
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}}"
una vez más, dejar incluso he intentado simplificar el toMustacheFixed f. unction a:
Number.prototype.toMustacheFixed = function(){
return function(){ return 123.45; };
};
Esto no ayudó. Todavía estaba recibiendo un espacio en blanco en la plantilla. Entonces, ¿no puede Mustache.js manejar funciones nativas y prototipo en números, o estoy haciendo algo mal?
Una respuesta agradable, iba exactamente para eso y lo entiendes mejor de lo que estaba escribiendo. – gonchuki
Agradable. Esta es la misma conclusión a la que llegué también (pero no quería ser ese tipo que responde su propia pregunta). ¡Gracias! – roto
enlace de violín roto fijo. – SgtPooki