2016-05-31 4 views
0

Ich möchte meine Seite auf eine andere URL umleiten. Aber ich kann dies nicht mit der $ location.path-Methode tun.

var url = "http://" + $window.location.host + "/template/reservation.html"; 
$log.log(url); 
$location.search({}); 

Es funktioniert, wenn ich diese verwenden: -

$window.location.href = url; 

Aber es funktioniert nicht, wenn ich $location.path anstelle der oben genannten Zeile verwenden, wie folgt aus: -

$location.path(url); 

Es hängt die URL an die aktuelle URL an, was nutzlos ist. Ich möchte $ location verwenden, da die Seite im Gegensatz zu $ ​​window nicht neu geladen wird.

+0

Bitte werfen Sie einen Blick auf die [Dokumentation] (https://docs.angularjs.org/api/ng/service/$location) auch hier ist ein [guide] (https: //docs.angularjs. org/guide/$ location) – George

+0

Sie können auch $ state.go (''); Lesen Sie hier http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$state –

Antwort

0

Ich bin Entsendung in Lösung, falls jemand anderes auch das gleiche Problem. Ich fand die Lösung wie folgt aus: -

i nicht in der Lage war, durch das gewünschte Ergebnis zu erhalten direkt die unterhalb der Linie zu schreiben: -

$location.path('/template/reservation.html'); 

oder

$location.path("/template/reservation.html"); 

Also habe ich die folgenden Änderungen in Datei die js -

var app = angular.module('mainApp', ['ngRoute']); 
app.config(function($routeProvider){ 
    $routeProvider 
    .when('/', { 
    templateUrl: '/login.html' 
    }) 
    .when('/reservationPage',{ 
    templateUrl: '/template/reservation.html' 
    }) 
    .otherwise({ 
    redirectTo: '/' 
    }); 

}); 

und verwendet $ location.path wie folgt: -

$location.path('/reservationPage'); 
0

Scheint ziemlich normal, eckig $location funktioniert nur für relative URLs. Für absolute müssen Sie Service auf JS window Objekt verwenden.

+0

Um das zu vervollständigen, können Sie sich $ Location [doc] ansehen (https://docs.angularjs.org/api/ng/service/$location), Sie werden feststellen, dass eine Methode '$ location.asbUrl' existiert, aber es ist nur ein Getter! –

0

$location.path() erwartet nur den Pfad Teil der URL, nicht die vollständige URL.

diese So versuchen:

$location.path("/template/reservation.html"); 
Verwandte Themen