Nice programing

AngularJS에서 버튼 클릭시 새 탭 열기

nicepro 2020. 10. 20. 08:09
반응형

AngularJS에서 버튼 클릭시 새 탭 열기


<button type="button" class="btn btn-primary" ng-click="openTab()">new tab</button>

openTab = function () {
  $http.post('www.google.com');
}

내가 원하는 것은 요구 사항을 게시하고 "openTab"버튼을 클릭 할 때 새 탭에서 응답 html을 여는 것입니다. 으로이 작업을 수행 할 수있는 방법이 없습니다 $http. 간단 할 수도 있지만 방법을 찾을 수 없습니다.


여기 에서 $ window 서비스를 사용하여 컨트롤러 내에서이 모든 작업을 수행 할 수 있습니다 . $ window는 전역 브라우저 개체 창을 둘러싼 래퍼입니다.

이 작업을 수행하려면 다음과 같이 $ window를 컨트롤러에 삽입하십시오.

.controller('exampleCtrl', ['$scope', '$window',
    function($scope, $window) {
        $scope.redirectToGoogle = function(){
            $window.open('https://www.google.com', '_blank');
        };
    }
]);

이것은 동적 경로로 리디렉션 할 때 잘 작동합니다.


나는이 질문을 이렇게 풀었다.

<a class="btn btn-primary" target="_blank" ng-href="{{url}}" ng-mousedown="openTab()">newTab</a>

$scope.openTab = function() {
    $scope.url = 'www.google.com';
}

적절한 HTML 방식 : 버튼을 앵커 요소로 둘러싸고 target = "_ blank" 속성을 추가하면 됩니다. 그것은 다음과 같이 siple입니다.

<a ng-href="{{yourDynamicURL}}" target="_blank">
    <h1>Open me in new Tab</h1>
</a>

컨트롤러에서 설정할 수있는 위치 :

$scope.yourDynamicURL = 'https://stackoverflow.com';

$location서비스를 이용해야합니다

Angular 문서 :

참고 URL : https://stackoverflow.com/questions/17757837/open-a-new-tab-on-button-click-in-angularjs

반응형