This is what I\'d like to do in Mustache.js but not seeing how with the documentation.
var view = {items:[\'Mercury\',\'Venus\',\'Earth\',\'Mars\']};
var tem
Looking for a fast clean solution?
index functionvar data = {
items: [{
name: Aliasghar
, grade: 19
}, {
name: Afagh
, grade: 20
}]
, index: function() {
return ++window['INDEX']||(window['INDEX']=0);
}
}
and your template could be like this:
{{#items}}
{{index}} -- {{name}} is {{grade}}
{{/items}}
We add a index: function(){} to data and we use it as a normal function in template.
This function adds a key to the window object which is available globally; then increases it one by one.
Please note that if you are using multiple templates one after another you need to either reset window['INDEX'] or change it's key to something else like window['YEKI_DIGE'].
Another way of doing this is by adding a resetIndex function. Here is the way:
var data = {
items: [{
name: Aliasghar
, grade: 19
}, {
name: Afagh
, grade: 20
}]
, index: function() {
return ++window['INDEX']||(window['INDEX']=0);
}
, resetIndex: function() {
window['INDEX']=null;
return;
}
}
and your template could be like this:
{{#items}}
{{index}} -- {{name}} is {{grade}}
{{/items}}
{{resetIndex}}
Inspired by this answer: https://stackoverflow.com/a/10208239/257479 from dave on In Mustache, How to get the index of the current Section