ОК пришлось изменить шаблон lib.
см. эту ссылку для github patch.
строка 150-155 оригинала (текущая версия) jquery.tmpl.js
ret = jQuery.isArray( data ) ?
jQuery.map( data, function( dataItem ) {
return dataItem ? newTmplItem( options, parentItem, tmpl, dataItem ) : null;
}) :
[ newTmplItem( options, parentItem, tmpl, data ) ];
return topLevel ? jQuery( build( parentItem, null, ret ) ) : ret;
изменено для поддержки $ index
ret = jQuery.isArray( data ) ?
jQuery.map( data, function( dataItem, index ) {
if(dataItem){dataItem.$index = index;}
return dataItem ? newTmplItem( options, parentItem, tmpl, dataItem ) : null;
}) :
[ newTmplItem( options, parentItem, tmpl, data ) ];
return topLevel ? jQuery( build( parentItem, null, ret ) ) : ret;