2012-03-22 16 views
11

Ho un router backbone:Backbone percorso a/

class X.Routers.Main extends Backbone.Router 

    routes: 
    '/': 'home' 
    'pageb': 'actionb' 
    'pagec': 'actionc' 

Pagine B e il lavoro C, ma la navigazione verso http://domain.ext/ risultati in una pagina ricarica invece di innescare la strada giusta.

Come posso evitare questo?

risposta

17

è possibile impostare "*path": "home" come ultima percorso che renderà un percorso predefinito o impostare "" (invece di "/") come primo itinerario (che significa directory root)

4
  1. il tuo percorso di base URL non è "/", ma "" (stringa vuota)
  2. io di solito aggiungere optional "/" alla fine di ogni configurazione di percorso, nel caso in cui
  3. anche io di solito aggiungere gestore di azione predefinita al termine della configurazione di

Quindi la mia configurazione percorsi sarebbe come:

routes = { 
    '': 'home', 
    'pageb(/)': 'actionB', // so /pageb or /pageb/ will call the same function 
    'pagec(/)': 'actionC', // so /pagec or /pagec/ will call the same function 
    '*action': 'defaultAction' // you can use it to render 404, or call home function 
} 

Spero che questo aiuto