programing

Angular에서 버튼을 클릭하여 새 탭을 엽니다.JS

codeshow 2023. 3. 8. 21:39
반응형

Angular에서 버튼을 클릭하여 새 탭을 엽니다.JS

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

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

원하는 것은 require를 투고하고 "open Tab" 버튼을 클릭했을 때 새로운 탭에서 응답 html을 여는 것입니다.이 작업을 수행하는 방법은 없습니다.$http간단할 것 같은데 방법이 없네요.

여기 $window 서비스를 사용하면 컨트롤러 내에서 이 모든 작업을 수행할 수 있습니다.$dlaper는 글로벌브라우저 오브젝트창의 래퍼입니다.

다음과 같이 $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"를 추가합니다.그것은 매우 간단합니다.

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

컨트롤러로 설정할 수 있습니다.

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

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

각도 문서:

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

반응형