ng-click 没有打开新的 windows

ng-click doesn't open new windows

我有一个 table,其中最后一列包含应该打开新 window 的按钮,但它们没有。 这是我的代码:

<table class="table  table-hover" id="angular_table">
  <thead>
    <tr>
      <th class="company">Nome azienda&nbsp;<a ng-click="sort_by('company')"><i class="icon-sort"></i></a></th>
      <th class="code">Codice&nbsp;<a ng-click="sort_by('code')"><i class="icon-sort"></i></a></th>
      <th class="projectName">Nome progetto&nbsp;<a ng-click="sort_by('projectName')"><i class="icon-sort"></i></a></th>
      <th class="recordType">Tipo di record&nbsp;<a ng-click="sort_by('recordType')"><i class="icon-sort"></i></a></th>                            
      <th class="year">Anno&nbsp;<a ng-click="sort_by('year')"><i class="icon-sort"></i></a></th>
      <th class="month">Mese&nbsp;<a ng-click="sort_by('month')"><i class="icon-sort"></i></a></th>
      <th>Crea ricavo&nbsp;</th>
    </tr>
  </thead>                        
  <tbody>
    <tr ng-repeat="item in items | filter:query:checkEqual | orderBy:sortingOrder:reverse " id="lista">
      <td>{{item.company}}</td>
      <td >{{item.code}}</td>
      <td style="text-align: -webkit-left;"> <a href="/{{item.id}}" target="_blank">{{item.projectName}}</a></td>
      <td>{{item.recordType}}</td>                            
      <td>{{item.year}}</td>
      <td>{{item.month}}</td>
      <td class="btnCrea"><button class="btn2 btn-default2" ng-click="window.open('/apex/creaRicavoM?id={{item.id}}','_blank','heigth=600,width=600')">Crea</button></td>
    </tr>
  </tbody>
</table>

有人可以帮助我吗?提前致谢!

<a href="http://www.google.com" target="_blank">Visit google!</a> 

试试这个

您应该使用 Angular 的 $window 服务从 ng-click 处理程序中访问 window 对象。

在您的控制器中,向作用域添加一个函数,例如

$scope.popupWindow = function(itemId) {
    $window.open('/apex/creaRicavoM?id=' + itemId,'_blank','heigth=600,width=600');
}

然后在您的模板中,您可以使用:

ng-click="popupWindow(item.id)"

此外,不要忘记将 $window 注入您的控制器。

这样做

        <td class="btnCrea"><button class="btn2 btn-default2" ng-click="viewLink(your URL)">Crea</button></td>

在控制器中:

        $scope.viewLink = function (url) {
    var ref = window.open(url, '_system', 'location=yes');
}

阅读这个答案Open links in new window using AngularJS

您应该将函数绑定到控制器或指令。还使用 Angular $window 服务而不是 window 对象

请将函数定义到 $scope 或 $rootScope 中,并在 ng-click 上调用该函数。

示例:

在 $scope

$scope.openurl = function(url){
    window.open(url, '_blank','heigth=600,width=600');   // may alse try $window
} 

或者

在 $rootScope

 $rootScope.openurl = function(url){
        window.open(url, '_blank','heigth=600,width=600');   // may alse try $window
    } 

在 html 中,试试这个

 <td class="btnCrea"><button class="btn2 btn-default2" ng-click="openurl('/apex/creaRicavoM?id={{item.id}}')">Crea</button></td>