Ich teste mit dem folgenden AngularJS $ -Standort. Ich weiß nicht, was das Problem damit ist. Ich möchte nur überprüfen, ob die Umleitung funktioniert oder nicht:
HTML
<body data-ng-controller="MainCtrl">
Hello {{name}}!
<button ng-click='go()'>Go</button>
</body>
AngularJS-Code
var app = angular.module('location', []);
app.controller('MainCtrl', function($scope,$routeParams, $location) {
$scope.name = 'World';
$scope.go = function() {
$location.absUrl() = 'http://www.google.com';
}
});
==
, sollte es sein=
Antworten:
$ location hilft Ihnen bei externen URLs nicht weiter. Verwenden Sie stattdessen den $ window-Dienst:
$window.location.href = 'http://www.google.com';
Beachten Sie, dass Sie das Fensterobjekt verwenden können, dies ist jedoch eine schlechte Vorgehensweise, da $ window leicht verspottbar ist, während window dies nicht ist .
quelle
$window.location = ...
ohne die verwenden.href
.Wenn Sie die ng-Ansicht ändern möchten, müssen Sie das '#' verwenden.
$window.location.href= "#operation";
quelle
Die Linie
$location.absUrl() == 'http://www.google.com';
ist falsch. Zuerst macht == einen Vergleich, und was Sie wahrscheinlich versuchen, ist eine Aufgabe, die mit simple = und nicht double == ist.
Und weil nur absUrl () getter. Sie können url () verwenden, das als Setter oder als Getter verwendet werden kann, wenn Sie möchten.
Referenz: http://docs.angularjs.org/api/ng . $ location
quelle
Es könnte dir helfen!
AngularJs Codebeispiel
var app = angular.module('urlApp', []); app.controller('urlCtrl', function ($scope, $log, $window) { $scope.ClickMeToRedirect = function () { var url = "http://" + $window.location.host + "/Account/Login"; $log.log(url); $window.location.href = url; }; });
HTML-Codebeispiel
<div ng-app="urlApp"> <div ng-controller="urlCtrl"> Redirect to <a href="#" ng-click="ClickMeToRedirect()">Click Me!</a> </div> </div>
quelle
Dies funktionierte für mich innerhalb einer Direktive und ohne Aktualisierung der Basis-URL (fügt nur den Endpunkt hinzu). Gut für Single Page Apps mit Routing-Mechanismus.
$(location).attr('href', 'http://localhost:10005/#/endpoint')
quelle
Versuchen Sie, die URL in die Funktion einzugeben
$location.url('http://www.google.com')
quelle
http://www.google.com
an die URL angehängt .$window.location.href
scheint aber zu funktionieren.