В своей программе-примере они имеют:
$.views.allowCode = true;/
http://borismoore.github.com/jsrender/demos/step-by-step/11_allow-code.html
[редактировать]
Вы должны «рассказать» jsRender о внешней функции. Вот рабочий пример:
<script type="text/javascript">
function IsSpecialYear()
{
return '1998';
}
// tell jsRender about our function
$.views.registerHelpers({ HlpIsSpecialYear: IsSpecialYear });
</script>
<script id="movieTemplate" type= "text/html">
{{#if ReleaseYear == $ctx.HlpIsSpecialYear() }}
<div style="background-color:Blue;">
{{else}}
<div>
{{/if}}
{{=$itemNumber}}: <b>{{=Name}}</b> ({{=ReleaseYear}})
</div>
</script>
<div id="movieList"></div>
<script type="text/javascript">
var movies = [
{ Name: "The Red Violin", ReleaseYear: "1998" },
{ Name: "Eyes Wide Shut", ReleaseYear: "1999" },
{ Name: "The Inheritance", ReleaseYear: "1976" }
];
$.views.allowCode = true;
$("#movieList").html(
$("#movieTemplate").render(movies)
);
</script>
[ПРАВКА 2] Более сложное логическое условие:
function IsSpecialYear(Year, Index)
{
if ((Year == '1998') && (Index == 1))
return true;
else
return false;
}
// tell jsRender about our function
$.views.registerHelpers({ HlpIsSpecialYear: IsSpecialYear });
</script>
<script id="movieTemplate" type= "text/html">
{{#if $ctx.HlpIsSpecialYear(ReleaseYear, $itemNumber) }}
<div style="background-color:Blue;">
{{else}}
<div>
{{/if}}