2011-11-26 9 views
7

Desidero avere URL che il browser può acquisire e gestire. Se mi basta usare Backbone.history.start(), quindi posso usare URL hash, come /Conti #.Impossibile ottenere le rotte di Backbone senza hash?

Ma io voglio URL senza gli hash, alla /conti. Ma non riesco a farlo funzionare utilizzando Backbone.history.start ({pushState: true}) (as others have described it). Le mie rotte sono semplici e prese direttamente da the documentation.

 

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

sto usando Chrome (provato anche con FF), e il comportamento è che un /conti richiesta va dritto al server. Non viene intercettato da Backbone per primo. qualcuno si è mai imbattuto in questo? Come posso ottenere la gestione degli URL con hash-less con Backbone?

Grazie in anticipo

+1

Il # è usato per il collegamento interno in html, tutti gli URL senza # andranno al server. Puoi comunque aggiungere rotte, ma tutti i link con # verranno inviati prima dal server –

risposta

17

Si potrebbe passare a tale URL con js utilizzando router.navigate("/accounts", true), non per i collegamenti o inserendo l'url da soli. Per utilizzare i collegamenti, è necessario associare un evento click a loro e impedire l'azione predefinita e chiamare navigare verso i collegamenti href.

router è un'istanza di Router

+0

Troppo a destra. Grazie per aver chiarito questo per me. – Nutritioustim

Problemi correlati