Ну, вы можете определить свой собственный getUniqueId (), который получает последний сгенерированный идентификатор, в соответствии с
var cnt = 0, lastId;
var myTmpl = $.templates("#myTmpl"),
data = {},
helpers = {
generateUniqueId: function() {return (lastId = cnt++);},
getUniqueId: function() {return lastId;},
decorator: function(id) {return "title=YES" + id;}
};
myTmpl.link("#page", data, helpers);
и напишите
<span id="{{:~generateUniqueId()}}" {{:~decorator(~getUniqueId())}}></span>
В качестве альтернативы (хотя этого лучше избегать, если вы используете связывание данных JsViews, а не просто рендеринг JsRender), вы можете установить для allowCode значение true, используя следующий подход:
$.views.settings.allowCode(true);
var cnt = 0;
function genId() {return cnt++;}
function dec(id) {return "title=YES" + id }
и напишите:
<span id="{{*:(theid=genId())}}" {{*:dec(theid)}}>c</span>