Auch eine SPA kann die Zustandsänderung („Seiten“wechsel) über das History-API im URI abbilden. Sollte sie auch, damit Bookmarken und Back-Button wie gewohnt funktionieren.
Auch wenn sich der URI nicht ändert?
„Im URI abbilden“ heißt: der URI ändert sich.
Relevant für JS ist das erste Argument für history.pushState()
und das ist ein vom URI unabhängiges Objekt welches den jeweiligen Zustand der Anwendung representiert. D.h., der Zustand einer Anwendung kann sowohl in einem JS-Object als auch im URI abgebildet werden. Für eine Navigation über history.state
ist der URI völlig belanglos. Dennoch habe ich hier beim history.pushState
einen virtuellen URI sozusagen mitgeschnitten, so dass der Zustand der Anwendung auch aus der Adressleiste heraus wiederhergestellt werden kann.
Gucks Dir mal an ;)
PS: Einzig die Templates sind redundant. Siehe Erläuterungen.