Je pense que je manque des bases sur les fonctions de routage de la colonne vertébrale.
Je construis une application et cela ressemble à quelque chose comme ça: p>
à ce stade, le navigateur change le URL dans la barre d'adresse à J'ai essayé d'utiliser mon propre classe de routage (c.-à-d. Qu'est-ce que je fais mal? P> P> fichier: app.js code > p>
Fichier: contrôleur.js code> p>
/ home code> mais rien ne se passe et je n'obtiens pas le message code> à la maison code> message de console. P>
backbone.router.extend ({}) code>) Mais je ne vois pas vraiment de point qu'il est toujours nécessaire de l'initialiser, et je veux utiliser une histoire centrale / Navigation dans mon application que tous les modules / contrôleurs ajoutent de l'acheminement au lieu de créer un routeur pour chaque contrôleur. P>
3 Réponses :
Pour le routage pour fonctionner, vous devez appeler backbone.history.start () code> après la configuration de vos itinéraires (essentiellement après avoir tout fait tout le reste). Voir: http://documentcloud.github.com/backbone/#history-Start p>
http://documentcloud.github.com/backbone/#router-navigate
de la documentation: p>
Si vous souhaitez également appeler la fonction d'itinéraire, définissez l'option de déclenchement sur true. p> blockQuote>
Mais comme Ollim a écrit, vous devez activer l'historique d'abord! p>
Donc, votre réponse doit être la suivante: P>
Backbone.history.start(); App.nav.navigate('home', {trigger: true});
{déclencheur: true} code> ne fait pas partie de la solution ici. La colonne vertébrale va défier de déclencher: true si aucune option n'est spécifiée. Voici l'extrait de code:
Navigate: fonction (fragment, options) {if (! History.starté) renvoie false; Si (! Options || Options === True) Options = {Trigger: !! Options}; Code>
Votre lien a 404'd.
Je veux juste le signaler comme ça m'a sauvé un monde de blessures et de chagrin d'amour.
Si vous vous acheminez vers une page personnalisée telle que P>
Backbone.router.navigate('/some/page/'); // works