6
votes

Itinéraire d'appel à l'intérieur d'une vue sur la colonne vertébrale

Je sais qu'il y a beaucoup de didacticiels / informations sur l'orgaison d'une application à l'aide de Backbone.js là-bas. Je crée un peu à l'aide de ces tutoriels. Je semble savoir comprendre le concept de routeurs. Eh bien, je suis conscient que les routeurs sont du point de départ (et raconte l'état d'une application) et il est préférable d'éviter de poser plus de logique là-bas.

J'ai un routeur. Mon application chargerait d'abord l'en-tête, le pied de page et la partie principale de la page. En partie principale, d'abord, je devrais vous connecter à l'utilisateur. Pour charger la page de connexion, je ferais quelque chose comme ceci: xxx

Après une connexion réussie, la page de messagerie sera chargée. Mailview a quelques événements pour afficher la boîte de réception, la boîte à ressort, par exemple. xxx

à ce stade, je veux que le routeur affiche ../# réplique et ../# SENTBOX respectivement. Je me demande si je devrais appeler ici une des méthodes du routeur pour montrer que dans la barre d'adresse. Pourquoi je suis confus, c'est parce que cela dit que l'utilisation d'un routeur est meilleure que davantage. Si je le fais, mon approuveur sera plus compliqué. Un autre problème est que si les utilisateurs tapent l'adresse directement, je devrais charger cette page. Je pense que cela nécessite de mettre la logique à l'intérieur de l'approuveur .

S'il vous plaît dites-moi la bonne approche ici. Merci à l'avance!


0 commentaires

3 Réponses :


7
votes

Vous venez d'envoyer simplement le navigateur à la route appropriée via:

<a href="#/the_route_you_want">The Route You Want</a>


1 commentaires

12
votes

Découvrez routeur.navigate () ( http://documentcloud.github.com/backbone/#router-navigate )

Je sauvegardez normalement une variable d'instance de mon routeur à l'intérieur de mon objet d'application, par exemple xxx

où app.MainRouter est défini comme suit: xxx

alors à mon avis, si je veux naviguer vers un nouvel itinéraire, j'appelle: xxx


3 commentaires

Notez que vous pouvez appeler backbone.history.navigater si votre routeur n'est pas accessible de votre vue.


Cela ne change que l'URL Hash et ne déclenche pas la méthode du gestionnaire de route


Pour tirer le gestionnaire de la route, vous devez ajouter {déclencheur: true} en tant que second paramètre.



1
votes

Si vous souhaitez également appeler la fonction itinéraire, définissez l'option de déclenchement sur TRUE:

app.navigate("help/troubleshooting", {trigger: true});


0 commentaires