Sto provando a impostare un modello mustache.js che formatta un numero in una posizione decimale specifica utilizzando un lambda e sto riscontrando problemi. Dato un oggetto che assomiglia a:Mustache.js lambdas e formattazione dei numeri su Fixed
{
x: 123,
points: [
{ name: "foo", y: 1.234567 },
{ name: "bar", y: 2.123456 },
{ name: "fax", y: 3.623415 }
]
}
Per prima cosa ho provato la creazione di un modello che sembrava:.
var template = "{{x}}{{#points}}<br/>{{name}}, {{#y.toFixed}}2{{/y.toFixed}}";
Questo non ha funzionato (generato uno spazio vuoto in cui il numero dovrebbe essere io però . forse il lambda non era nel formato corretto in quanto toFixed non restituisce una funzione (mustache docs) Così ho provato:
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}}"
ancora una volta, non riescono ho anche provato la semplificazione del toMustacheFixed f. unzione a:
Number.prototype.toMustacheFixed = function(){
return function(){ return 123.45; };
};
Questo non ha aiutato. Stavo ancora ottenendo un vuoto nel modello. Quindi, Mustache.js non può gestire le funzioni native e di prototipo sui numeri o sto facendo qualcosa di sbagliato?
Bella risposta, stavo andando esattamente per quello e l'hai inchiodato meglio di quello che stavo scrivendo. – gonchuki
Bello. Questa è la stessa conclusione che ho raggiunto (ma non volevo essere quel ragazzo che risponde alla sua stessa domanda). Grazie! – roto
collegamento di violino rotto. – SgtPooki