2016-10-18 9 views
0

Ich arbeite an einem Projekt, in dem ich die URL nach einer bestimmten Seite ändern muss, da einige Anmeldeinformationen in der URL vorhanden sind.URL ändern, ohne die Seite in AngularJS zu aktualisieren

Ich tat das mit location.Replace() Methode. Es hat die URL in der Adressleiste geändert und die Seite neu geladen, aber das möchte ich nicht.

Zum Beispiel in meiner URL abc.com/app/XXXX/#/app/inbox Ich möchte XXXX/ auf den Ersatz entfernen.

Ich verwendete location.replace(abc.com/app/#/app/inbox). Es hat die URL ersetzt, aber auch die Seite neu geladen. Ich möchte nicht, dass meine Seite bei URL-Änderung neu geladen wird.

Antwort

0

Fügen Sie diesen Code in Ihrer app.js-Datei hinzu. Es fügt einen zusätzlichen Parameter zu $location.path() hinzu.

app.run(['$route', '$rootScope', '$location', function ($route, $rootScope, $location) { 
    var original = $location.path; 
    $location.path = function (path, reload) { 
     if (reload === false) { 
      var lastRoute = $route.current; 
      var un = $rootScope.$on('$locationChangeSuccess', function() { 
       $route.current = lastRoute; 
       un(); 
      }); 
     } 
     return original.apply($location, [path]); 
    }; 
}]); 

dann in Ihrem Controller Anruf $location.path() als

$location.path('/users/' +$scope.userid, false); 
Verwandte Themen