<button type="button" class="btn btn-primary" ng-click="openTab()">new tab</button>
openTab = function () {
$http.post('www.google.com');
}
我想要的是发布一个require并在单击“openTab”按钮时在新选项卡中打开响应html。没有方法可以使用$http
执行此操作。
我认为这可能很简单,但我找不到办法。
答案 0 :(得分:170)
您可以使用$ window service here在控制器中完成所有操作。 $ window是全局浏览器对象窗口的包装器。
为了使这项工作将$ window注入你的控制器,如下所示
.controller('exampleCtrl', ['$scope', '$window',
function($scope, $window) {
$scope.redirectToGoogle = function(){
$window.open('https://www.google.com', '_blank');
};
}
]);
在重定向到动态路由
时效果很好答案 1 :(得分:18)
我用这种方式解决了这个问题。
<a class="btn btn-primary" target="_blank" ng-href="{{url}}" ng-mousedown="openTab()">newTab</a>
$scope.openTab = function() {
$scope.url = 'www.google.com';
}
答案 2 :(得分:4)
正确的HTML方式: 只需用锚元素包围按钮并添加属性 target =“ _ blank” 。就这么简单:
<a ng-href="{{yourDynamicURL}}" target="_blank">
<h1>Open me in new Tab</h1>
</a>
您可以在控制器中进行设置的位置:
$scope.yourDynamicURL = 'https://stackoverflow.com';
答案 3 :(得分:-1)