Да, вы можете поместить произвольные функции и выражение внутри ${}
тег шаблона:
Оценивает указанное поле (свойства) текущий элемент данных , или указанная функция JavaScript или выражение.
${reviewed ? 'ham' : 'spam'}
Таким образом, вы могли бы написать шаблон:
<script id="movieTemplate" type="text/x-jquery-tmpl">
<!-- Ternary operator to assign a class -->
<li class="${Year >= 1990 ? 'orange' : 'yellow'}">
Title: ${Name}.
{{each Languages}}
${$index + 1}: <em>${$value}. </em>
{{/each}}
</li>
</script>
Учитывая JavaScript и JSON данные, как это:
var movies = [
{
Name: "Meet Joe Black",
Languages: ["French"],
Year: 1990
},
{
Name: "The Mighty",
Languages: [],
Year: 1985
},
{
Name: "City Hunter",
Languages: ["Mandarin", "Cantonese"],
Year: 1994
}];
$("#movieTemplate").tmpl(movies).appendTo("#movieList");
Это относится к классу 'оранжевых' на фильмы с годами, большими или равными 1990 году, и класс «желтых» фильмов с годами меньше 1990 года.
Рабочий пример: http://jsfiddle.net/andrewwhitaker/dY43s/
Спасибо Эндрю. –