Перенаправление на новую страницу в AngularJS с использованием $location

Я тестирую следующее местоположение AngularJS $. У меня нет проблемы с этим. Просто хочу проверить, работает ли перенаправление:

HTML

<body data-ng-controller="MainCtrl">
   Hello {{name}}!
   <button ng-click='go()'>Go</button>
</body>

Код AngularJS

var app = angular.module('location', []);
   app.controller('MainCtrl', function($scope,$routeParams, $location) {
   $scope.name = 'World';
   $scope.go = function() {
   $location.absUrl() = 'http://www.google.com';
   }
});

Ответ 1

$location не поможет вам с внешними URL-адресами, вместо этого используйте службу $window:

$window.location.href = 'http://www.google.com';

Обратите внимание, что вы можете использовать объект window, но это плохая практика, так как $window легко выкачивается тогда как окно не является.

Ответ 2

Если вы хотите изменить ng-view, вам нужно будет использовать '#'

$window.location.href= "#operation";

Ответ 3

Линия

$location.absUrl() == 'http://www.google.com';

неверно. First == делает сравнение, и то, что вы, вероятно, пытаетесь сделать, - это назначение, которое с простым = и не double ==.

И потому, что только absUrl(). Вы можете использовать url(), который может использоваться как сеттер или как получатель, если хотите.

ссылка: http://docs.angularjs.org/api/ng. $location

Ответ 4

Это может помочь вам!

Образец кода AngularJs

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-кода

<div ng-app="urlApp">
    <div ng-controller="urlCtrl">
        Redirect to <a href="#" ng-click="ClickMeToRedirect()">Click Me!</a>
    </div>
</div>

Ответ 5

Попробуйте ввести URL-адрес внутри функции

$location.url('http://www.google.com')

Ответ 6

это работало для меня внутри директивы и работает без обновления baseurl (просто добавляет конечную точку). Хорошее для Single Pages Apps с механизмом маршрутизации.

  $(location).attr('href', 'http://localhost:10005/#/endpoint')