program tip

$ location을 사용하여 AngularJS의 새 페이지로 리디렉션

radiobox 2020. 10. 26. 07:52
반응형

$ location을 사용하여 AngularJS의 새 페이지로 리디렉션


다음 AngularJS $ location으로 테스트 중입니다. 나는 이것의 문제가 무엇인지 모른다. 리디렉션이 작동하는지 확인하고 싶습니다.

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';
   }
});

$ location은 외부 URL에 도움이되지 않습니다. 대신 $ window 서비스를 사용하세요.

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

window 객체를 사용할 수 있지만 $ window는 쉽게 모의 할 수있는 반면 window는 그렇지 않으므로 나쁜 습관 입니다.


ng-view를 변경하려면 '#'을 사용해야합니다.

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

라인

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

잘못되었습니다. 먼저 ==는 비교를하고 아마도 당신이하려는 것은 할당 일 것입니다. 이것은 double ==이 아닌 단순한 =입니다.

그리고 absUrl () getter 만 있기 때문입니다. 원하는 경우 setter 또는 getter로 사용할 수있는 url ()을 사용할 수 있습니다.

참조 : http://docs.angularjs.org/api/ng . $ location


도움이 될 수 있습니다!

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>

이것은 지시문 내에서 나를 위해 일했으며 baseurl을 새로 고치지 않고 작동합니다 (엔드 포인트 추가). 라우팅 메커니즘이있는 단일 페이지 앱에 적합합니다.

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

함수 안에 URL을 입력 해보세요

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

참고 URL : https://stackoverflow.com/questions/18875467/redirect-to-new-page-in-angularjs-using-location

반응형