backbone wechseln zu einer anderen Seite
Dies ist wahrscheinlich super einfache Frage, die in einer Ansicht, die ich binden Sie ein 'klicken' - Ereignis einer Schaltfläche, wenn das Ereignis geklickt wird möchte ich umleiten auf eine völlig neue Seite (e.g nicht eine route).
z.B.
events : {
"click .button" : 'redirect'
},
redirect : {
window.location('otherlink');
}
Könnte ich Fenster.Standort, scheint aber das ist der falsche Weg? irgendwelche Ideen geschätzt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde einfach mit einem einfachen
<a href="otherlink">Link Title</a>
. Wenn der link ist dynamisch, ich würde verlassen Sie sich auf das Rendern einer Ansicht den link und die Verwaltung seines Staates und derhref
.Wenn Sie brauchen, um etwas zu tun vor dass der Benutzer gehen, die die sekundäre Nutzung der Seite und der event-handler ohne das
event.preventDefault()
oder zu vermeiden, um zurückfalse
.Rückgrat hat ein "router" (das ist im Grunde das, was ich bin gekommen, um zu wissen, wie ein controller). Sie können es verwenden, um navigation. Zum Beispiel:
trigger stellt sicher, dass ein Ereignis ausgelöst wird, falls Sie mit der Verwendung der genannten Ereignisse.
Können Sie ein team der router mit dem Backbone - 's ' Geschichte' und bauen eine ziemlich genial, einer Seite, Anwendung sehr einfach.
Edit: Never mind, ich habe gerade wieder gelesen, dass Sie nicht wollen, verwenden Sie eine route. Meine zwei Cent - stellen einen wrapper zu tun, die navigation für Sie. Ich hatte gerade umgestalten, eine ziemlich große javascript-Anwendung, die vor ein paar Wochen, nehmen Sie ein hundert oder so-Fenster.Standorten, so dass es sein könnte, Gerät getestet. Nicht so viel Spaß. I. e:
Jetzt können Sie tatsächlich tun, unit-Tests, wie Sie überschreiben können MyApp.navigieren Sie mit etwas, das nichts tut, wenn Sie aufgerufen. Sie können auch hinzufügen, in business-Logik, wenn es sein muss.. oder Filter.. oder sonst was.. ohne zu stören den rest der Anwendung. Zum Beispiel, wenn die url, die außerhalb der Website, öffnen Sie es in einem neuen Fenster, anstatt nur die Ansicht in der gleichen Seite.