ForgeTotal.js 5
el

Total.js 5

Χρήση συνθηκών και escaping στις προβολές

Total.js 5 · total5@0.0.19 viewstemplates Εκτελέστηκε με το Total.js 5

Οι προβολές είναι HTML με μπλοκ @{...}. Μια συνθήκη είναι @{if expression}, προαιρετικά @{else}, και κλείνει πάντα με @{fi}. Η έκφραση είναι απλή JavaScript και μπορεί να χρησιμοποιεί model (τα δεδομένα που περνούν στο $.view()), repository (τιμές που μοιράζονται με το layout), query, user, config και language.

Η έξοδος γίνεται escape από προεπιλογή: το @{model.text} μετατρέπει το < σε <, που σας προστατεύει από injection. Βάλτε ένα ! μετά το @{ για να στείλετε την ακατέργαστη τιμή (@{!model.html}) και κάντε το μόνο με αξιόπιστο περιεχόμενο.

views/index.html
@{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>
controllers/default.js
exports.install = function() {
	ROUTE('GET /{role}/', page);
};

function page($) {
	$.view('index', { admin: $.params.role === 'admin', items: [1, 2, 3], text: 'Hello <b>World</b>' });
}