ForgeTotal.js 5
de

Total.js 5

Eine View mit einem Layout rendern

Total.js 5 · total5@0.0.19 viewslayouttemplates Mit Total.js 5 ausgeführt

$.view(name, model) rendert views/<name>.html und umschließt sie mit views/layout.html. In einer View stehen die Daten als model bereit; nutze @{...} für Ausdrücke, @{foreach ... in ...} für Schleifen und @{body} im Layout, um die View zu platzieren.

Das Layout wird ohne das Modell gerendert. Um ihm Werte zu geben (etwa einen Seitentitel), nutze repository: Das von $.view() zurückgegebene Objekt stellt es bereit.

views/layout.html
<!DOCTYPE html>
<html>
<head><title>@{repository.title}</title></head>
<body>
@{body}
</body>
</html>
views/index.html
<h1>@{model.name}</h1>
<ul>
@{foreach item in model.items}
	<li>@{item}</li>
@{end}
</ul>
controllers/default.js
exports.install = function() {
	ROUTE('GET /', home);
};

function home($) {
	var view = $.view('index', { name: 'Forge', items: ['routes', 'actions'] });
	view.repository.title = 'Home';
}