Откройте новую вкладку при нажатии кнопки в AngularJS

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

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

Я хочу, чтобы сообщение было необходимо и откройте ответ html на новой вкладке, когда вы нажмете кнопку "OpenTab". Для этого не существует метода $http. Я думаю, что это может быть просто, но я не могу найти способ.

Ответ 1

Вы можете сделать все это в своем контроллере, используя $window service здесь. $window - обертка вокруг окна объекта глобального браузера.

Чтобы сделать эту работу, вставьте в нее $window в контроллер следующим образом

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

это хорошо работает при перенаправлении на динамические маршруты

Ответ 2

Я решил этот вопрос таким образом.

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

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