2012-09-20 4 views
2

Existe-t-il un moyen de supprimer un fragment particulier de l'historique du backbone? Voici un cas d'utilisation:Historique du backbone

J'ai une vue de connexion, et une fois que l'utilisateur se connecte avec succès, il n'y a pas besoin de ce point de vue de rester dans l'histoire, car il n'a pas de sens pour revenir à la page de connexion après la connexion réussie . Cependant, j'ai toujours besoin de la vue de connexion dans l'historique si l'utilisateur accède à la page de connexion, ne se connecte pas mais navigue loin de la page de connexion vers une autre page (disons la page de réinitialisation du mot de passe). Si l'utilisateur a accidentellement cliqué sur le lien de réinitialisation du mot de passe et y a navigué, cliquer sur le bouton de retour devrait ramener l'utilisateur à la page de connexion.

Une chance de le faire avec backbone?

+0

http://stackoverflow.com/questions/9906648/how-to-keep-a-clean-browser-history-in-a- backbone-js-app –

Répondre

0

Répondre à votre question: Oui, il existe un moyen de gérer cela, il vous suffit de l'implémenter dans les routeurs requis que vous avez configurés dans votre application.

Par exemple, si vous voulez:

  1. historique de démarrage sur la première page après la connexion
  2. Historique du début à la page de réinitialisation de mot de passe (ou toute autre page gated)

Effectuez les opérations suivantes (Cet extrait de code doit être placé dans vos routeurs, dans la fonction d'initialisation):

initialize: function(options) { 
    this.route("pageId", "login", function(number){ 
     //Call to Backbone.history.start() wether or not you want the history to start on this page 
     //E.g. don't call it on the index route, just in /reset-password and so on. 
}); 
}, 
0

Essayez ceci: le signe en utilisation d'action cela redirect:

Backbone.history.navigate('/destination/page', {replace: true, trigger: true});