我有一张桌子,其中最后一栏包含应该打开一个新窗口的按钮,但他们不会。 这是我的代码:
<table class="table table-hover" id="angular_table">
<thead>
<tr>
<th class="company">Nome azienda <a ng-click="sort_by('company')"><i class="icon-sort"></i></a></th>
<th class="code">Codice <a ng-click="sort_by('code')"><i class="icon-sort"></i></a></th>
<th class="projectName">Nome progetto <a ng-click="sort_by('projectName')"><i class="icon-sort"></i></a></th>
<th class="recordType">Tipo di record <a ng-click="sort_by('recordType')"><i class="icon-sort"></i></a></th>
<th class="year">Anno <a ng-click="sort_by('year')"><i class="icon-sort"></i></a></th>
<th class="month">Mese <a ng-click="sort_by('month')"><i class="icon-sort"></i></a></th>
<th>Crea ricavo </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>
有人能帮助我吗?提前谢谢!
答案 0 :(得分:9)
请将函数定义到$ 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>
答案 1 :(得分:2)
您应该使用Angular的$window
服务从ng-click
处理程序中访问窗口对象。
在您的控制器中,向范围添加一个功能,例如
$scope.popupWindow = function(itemId) {
$window.open('/apex/creaRicavoM?id=' + itemId,'_blank','heigth=600,width=600');
}
然后在您的模板中,您可以使用:
ng-click="popupWindow(item.id)"
另外,不要忘记将$window
注入您的控制器。
答案 2 :(得分:0)
这样做
$scope.viewLink = function (url) {
var ref = window.open(url, '_system', 'location=yes');
}
在控制器中:
{{1}}
答案 3 :(得分:0)
阅读此回答Open links in new window using AngularJS
您应该将函数绑定到控制器或指令。还可以使用Angular $window
服务而不是window
对象
答案 4 :(得分:-2)
<a href="http://www.google.com" target="_blank">Visit google!</a>
试试这个