2012-01-21 6 views
14

Posso utilizzare più router in backbone.js, che non interferiscano tra loro in modo indiretto, senza problemi? O c'è qualcosa di cui dovrei preoccuparmi? campionePiù router con backbone.js

Codice:

myapp.routers.main = Backbone.Router.extend({ 
    routes : { "": "index" }, 
    index : function() { console.log("routed by main router");}  
}); 

myapp.routers.another = Backbone.Router.extend({ 
    routes : { "notmain": "index" }, 
    index : function() { console.log("routed by another router");}  
}); 

mainrouter = new vaikava.routers.main; 
notmainrouter = new vaikava.routers.another; 
Backbone.history.start(); 
+0

Il modo più semplice per rispondere a questa domanda è provarlo e vedere se funziona. Per quanto ne so, non dovrebbe esserci alcun problema con ciò che hai delineato. – nrabinowitz

+0

L'ho provato io stesso - nessun errore, ma poiché questa è la mia prima vera backbone e ho letto che potrebbero esserci problemi con più router, ho voluto chiedere qui – Industrial

risposta

8

Sì, funziona bene; l'unica volta in cui avresti un problema è se hanno percorsi in conflitto. There is a workaround che lo fa funzionare anche in questo modo, ma è un po 'un trucco.

Finché si evita che più router tentano di gestire lo stesso percorso, si dovrebbe andare bene.

+0

Hi Taxillian. Grazie mille per la tua risposta. Puoi verificare un'altra domanda 'backbone.js' per me? http://stackoverflow.com/questions/8957543/working-with-state-in-backbone-js-logging-in-a-user – Industrial