2011-11-26 8 views
7

Quiero tener URL marcables que el navegador pueda capturar y manejar. Si sólo tiene que utilizar Backbone.history.start(), entonces puedo utilizar URLs de hash, como /# cuentas.¿No se pueden obtener las rutas de Backbone sin hash?

Pero quiero URL sin los hashes, a la /cuentas. Pero no puedo hacer que esto funcione con Backbone.history.start ({pushState: true}) (as others have described it). Mis rutas son sencillas y se toman directamente desde the documentation.

 

    MyRouter = Backbone.Router.extend({ 
     routes: { 
      '/accounts': 'accounts', 
     } 
    }); 

estoy usando Chrome (también tratado con FF), y el comportamiento es que un /cuentas solicitud se pasa directamente al servidor. No ser interceptado por Backbone primero. ¿Alguien ha topado con esto? ¿Cómo obtengo manejo de URL sin hash con Backbone?

Gracias de antemano

+1

El # se utiliza para la vinculación interna en html, todas las URL sin # irán al servidor. Aún puede agregar rutas, pero todos los enlaces sin # irán primero al servidor –

Respuesta

17

Usted se vaya a esa URL con js usando router.navigate("/accounts", true), no por enlaces o introduciendo la URL usted mismo. Para usar enlaces, debe vincular un evento de clic a ellos y evitar la acción predeterminada y llamar a los enlaces href.

router es una instancia de Router

+0

Demasiado a la derecha. Gracias por aclarar eso para mí. – Nutritioustim

Cuestiones relacionadas