Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在AngularJS中单击按钮打开新选项卡 新建选项卡 openTab=函数(){ $http.post('www.google.com'); }_Javascript_Angularjs - Fatal编程技术网

Javascript 在AngularJS中单击按钮打开新选项卡 新建选项卡 openTab=函数(){ $http.post('www.google.com'); }

Javascript 在AngularJS中单击按钮打开新选项卡 新建选项卡 openTab=函数(){ $http.post('www.google.com'); },javascript,angularjs,Javascript,Angularjs,我想要的是发布一个require,并在单击“openTab”按钮时在新选项卡中打开响应html。没有使用$http执行此操作的方法。 我认为这可能很简单,但我找不到办法。您应该使用$location服务 角度文档: 我这样解决了这个问题 <button type="button" class="btn btn-primary" ng-click="openTab()">new tab</button> openTab = function () { $http

我想要的是发布一个require,并在单击“openTab”按钮时在新选项卡中打开响应html。没有使用
$http
执行此操作的方法。
我认为这可能很简单,但我找不到办法。

您应该使用
$location
服务

角度文档:


    • 我这样解决了这个问题

      <button type="button" class="btn btn-primary" ng-click="openTab()">new tab</button>
      
      openTab = function () {
        $http.post('www.google.com');
      }
      
      
      $scope.openTab=函数(){
      $scope.url='www.google.com';
      }
      
      您可以通过使用$window服务在控制器内完成这一切$窗口是全局浏览器对象窗口的包装器

      要使此工作正常,请按如下方式向控制器中注入$window

      <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=“\u blank”。就这么简单:

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

      你能接受这个解决方案吗?我投票支持@Aaron one:)Chrome锁定了这个弹出窗口。。我如何才能识别它被锁定并通知用户?在chrome和firefox中工作正常,但在IE中,用户获得loggedout并重定向到登录页面。是否有解决问题的方法,因为IElocation不允许您打开新选项卡。此技巧非常好,特别是对于那些正在处理Chrome的安全性可以锁定手动脚本打开的新标签页的人来说。
      <a ng-href="{{yourDynamicURL}}" target="_blank">
          <h1>Open me in new Tab</h1>
      </a>
      
      $scope.yourDynamicURL = 'https://stackoverflow.com';