Bedingungen und Maskierung in Views nutzen
Views sind HTML mit @{...}-Blöcken. Eine Bedingung ist @{if expression}, optional @{else}, und wird immer mit @{fi} geschlossen. Der Ausdruck ist normales JavaScript und kann model (die an $.view() übergebenen Daten), repository (mit dem Layout geteilte Werte), query, user, config und language verwenden.
Die Ausgabe wird standardmäßig maskiert: @{model.text} macht aus < ein <, was dich vor Injection schützt. Setze ein ! nach @{, um den rohen Wert zu senden (@{!model.html}), und tue das nur mit vertrauenswürdigen Inhalten.
@{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>' });
}