Směrování stránek v prohlížeči bez opětovného načtení
jComponent má vlastní router pro jednostránkové aplikace. ROUTE(url, fn) zaregistruje trasu: segmenty {name} se předají do fn jako argumenty v pořadí. REDIRECT(url) změní adresu pomocí History API (bez načtení stránky) a spustí odpovídající trasu. Trasy se porovnávají segment po segmentu: trasa a URL musejí mít stejný počet segmentů a * odpovídá libovolné hodnotě na své pozici. NAV popisuje aktuální polohu: NAV.url je cesta, NAV.query zpracovaný query string a NAV.params argumenty trasy. NAV.back() a NAV.forward() se pohybují v historii, kterou jComponent uchovává.
Pro server je to stále jedna stránka, takže každá URL pod vaší aplikací musí vrátit tentýž HTML (ROUTE('GET /*'), která vykreslí kostru), jinak by opětovné načtení na /users/5/ skončilo chybou 404.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>jComponent</title>
<link rel="stylesheet" href="//cdn.componentator.com/spa.min@20.css" />
<script src="//cdn.componentator.com/spa.min@20.js"></script>
</head>
<body>
<h1 id="title"></h1>
<script>
ROUTE('/', function() {
$('#title').text('Home');
});
ROUTE('/users/{id}/', function(id) {
$('#title').text('User ' + id);
});
ROUTE('/files/*', function() {
$('#title').text('Files');
});
</script>
</body>
</html>Upravte příklad a spusťte ho. Běží v izolovaném rámu ve vašem prohlížeči; na náš server se nic neposílá.
Náhled