2012-02-18 12 views
8

Dire faccio la seguente:Come si disabilita la cronologia del backbone, ma si consente comunque il routing basato su hash?

  • clic su un collegamento sulla homepage (/) e andare a/messaggi/1
  • trigger un evento e selezionare il percorso dorsale/messaggi/1/#/1/modificare
  • clicco indietro

ho bisogno di fare in modo che l'utente finisce di nuovo sulla homepage (/) non torna a/messaggi/1

quindi ho bisogno per consentire la spina dorsale hash route to work ma non modificare la cronologia. Personalmente preferirei mantenere la cronologia, ma è un requisito di un progetto.

risposta

13

L'ultima versione di Backbone (0.9.x) ha la capacità di attivare un percorso, ma non di aggiungerlo alla cronologia.

Vedere Backbone.Router#navigate per la sostituzione: opzione true.

In sostanza, basta chiamare .navigate sul router con l'innesco: true (al fuoco del percorso) e sostituire: true (per evitare che andando a storia)

app.navigate('posts/1/edit',{trigger:true, replace: true}); 

Ecco un jsfiddle che mostra in azione: http://jsfiddle.net/7Z6ju/1/

  • Fare clic su "Post 1" per passare alla pagina Post 1.
  • Quindi, fare clic su "Modifica" per andare a la pagina di modifica.
  • Quindi, premi il pulsante Indietro: dovresti tornare a casa su .
+0

Grazie, ho completamente perso quello nel docs \ * facepalm \ * –

+0

Documenti sono lì per essere errato: D –

Problemi correlati