2012-03-22 20 views
11

Tengo un router Backbone:Backbone ruta a/

class X.Routers.Main extends Backbone.Router 

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

páginas B y C de trabajo, pero la navegación a http://domain.ext/ resultados en una recarga de la página en lugar de la activación de la ruta correcta.

¿Cómo puedo evitar esto?

Respuesta

17

Puede establecer "*path": "home" como su última ruta que hará una ruta por defecto o conjunto "" (en lugar de "/") como su primera ruta (que significa directorio raíz)

4
  1. su ruta URL base no está "/", pero "" (cadena vacía)
  2. generalmente agrego opcional "/" al final de cada configuración de la ruta, por si acaso
  3. también suelo añadir gestor de acción por defecto al final de la configuración

Así configuración de rutas mi sería como:

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 
} 

Esperanza esta ayuda