In realtà lo si può fare solo con Baffo, ma per il caso in cui il JSON contiene non solo un numero, ma una matrice di valori, insieme con la dimensione della matrice:
var json = {
'rows': ['a','b','c'],
'numRows': function() {
return this.rows.length
}
} // ajax response data json.
per fare esso, è possibile utilizzare uno dei seguenti modelli di Moustache:
Nel caso semplice, quando hai solo bisogno di aggiungere "s" per il plurale:
var myTemplate = '{{ numRows }} link{{^rows}}s{{/rows}}{{#rows.1}}s{{/rows.1}} parsed so far.'
Il risultato:
0 links parsed so far.
1 link parsed so far.
2 links parsed so far.
Nel caso generale, quando il plurale è speciale (come la gente/persona):
var myTemplate2 = '{{ numRows }} {{^rows}}people{{/rows}}{{#rows.0}}{{^rows.1}}person{{/rows.1}}{{/rows.0}}{{#rows.1}}people{{/rows.1}} joined so far.'
Il risultato:
0 people joined so far.
1 person joined so far.
2 people joined so far.
Potete trovare entrambi i modelli applicati nella pratica qui: http://jsfiddle.net/H8tqn/9/
P.S. Inserirò di nuovo qui se riesco a trovare la soluzione per questo:
No people joined so far.
1 person joined so far.
2 people joined so far.
fonte
2017-11-16 18:38:55
Ho raccolto da questa risposta accettata che non c'è alcun modo per farlo nei baffi in sé, giusto? Gestisce vars falsi veri come condizionali, nessun altro paragone? – enigment