2013-06-06 18 views
5

Ho questo codice di routing sul mio app:angolare del browser js pulsante Indietro dosn't lavoro quando il routing

var app = angular.module('docFinder', []) 

app.config(function($routeProvider){ 
    $routeProvider. 
     when('/', 
     {    
     controller: docTable, 
     templateUrl: 'partials/finder.html' 
     }). 
     when('bio/:finderId', 
     {   
     controller: bioCtrl, 
     templateUrl: 'partials/bio.html' 
     }). 
     otherwise({redirectTo: '/'}); 
}); 

quando avvio la mia app e vado a radicare y cliccare su un link per il secondo percorso

una volta arrivato, premo il pulsante Indietro sul mio browser e non si torna indietro, aggiorna solo la mia pagina corrente, qualche idea sul problema?

EDIT:

Soluzione

<tr ng-repeat="doc in providers" ng-mouseover="mouseOverDoc(doc)" ng-mouseleave="mouseLeave()">  
    <td><a href="#bio/{{doc.provider.Id}}"> {{doc.provider.FirstName}} </a></td> 

</tr> 
+0

I tuoi percorsi sembrano giusti, puoi mostrare il codice che usi per passare ad un'altra pagina? –

+0

done, ho modificato la mia risposta –

+0

Questo non funziona con IE7 (almeno), se è quello che stai usando –

risposta

8

Usa #/sul collegamento. sembra bug su j angolare. per esempio:

<td><a href="#/bio/{{doc.provider.Id}}"> {{doc.provider.FirstName}} </a></td> 
+0

GRAZIE !!! questo lo ha risolto –

5

non sembra essere un problema per me.

AngularJS fornisce due modalità di configurazione per $ location service per controllare il formato dell'URL nella barra degli indirizzi del browser.

  1. modalità Hashbang (#!)
  2. modalità HTML5

Questo può essere risolto se si imposta la configurazione per HTML5 modalità utilizzando { html5Mode: true }.

+0

Sembra che non dovrebbe gestire correttamente entrambi in entrambe le modalità. I collegamenti non hash dovrebbero fallire in modalità hashbang e i collegamenti hash dovrebbero fallire o solo attivare una modifica nella modalità html5. – thynctank

Problemi correlati