Usar condições e escape nas vistas
As vistas são HTML com blocos @{...}. Uma condição é @{if expression}, opcionalmente @{else}, e fecha-se sempre com @{fi}. A expressão é JavaScript normal e pode usar model (os dados passados a $.view()), repository (valores partilhados com o layout), query, user, config e language.
A saída tem escape por omissão: @{model.text} transforma < em <, o que o protege de injeções. Ponha um ! depois de @{ para enviar o valor em bruto (@{!model.html}) e faça-o apenas com conteúdo de confiança.
@{layout('')}
@{if model.admin}
<p class="role">Administrator</p>
@{else}
<p class="role">Guest</p>
@{fi}
@{if model.items.length > 2}
<p class="many">many items</p>
@{fi}
<div class="escaped">@{model.text}</div>
<div class="raw">@{!model.text}</div>exports.install = function() {
ROUTE('GET /{role}/', page);
};
function page($) {
$.view('index', { admin: $.params.role === 'admin', items: [1, 2, 3], text: 'Hello <b>World</b>' });
}