2015-10-19 148 views
1

我知道这很简单,一个愚蠢的问题,但我不能为我的生活,使这项工作由于某种原因...打开在AngularJS新窗口

所以我有一个链接(根据使用的onclick非角弹出):

<a href="page.html" ng-click="popitup('page.html')">Page</a> 

而且范围内的功能:

$scope.popitup = function(url) { 
    return $window.open(url, '_blank', 'height=200,width=150'); 
}; 

所有我想要的是,当有人点击该链接,打开一个新的窗口,并显示page.html中。我试过改变链接和函数的小部分,但我无法得到它。我确信这是一个小事,我做错了。

+0

你在$范围和$窗口传递您的控制器功能就像在文档中的例子吗? https://docs.angularjs.org/api/ng/service/$window – Jbird

+0

AH!这可能是.. brb编译.. – elykl33t

+0

没关系。我添加了$ window和$ scope已经在那里。似乎没有改变任何东西。 – elykl33t

回答

1

试试这个。在HTML

<body ng-controller="MainCtrl"> 
    <a role="link" ng-click="popitup('page.html', '_blank')">Page</a> 
    </body> 

在控制器

app.controller('MainCtrl', function($scope, $window) { 
    $scope.popitup = function(url, target) { 
    $window.open(url, target); 
}; 
}); 

plunker

+0

的全限定网址,您还可以设置在新窗口中打开的高度宽度。玩蹦极 –

0

这为我工作。

HTML

<a data-ng-click="openPrintMode()"> 
          <i class="fa fa-print"></i> 
         </a> 

控制器

$rootScope.openPrintMode = openPrintMode; 

function openPrintMode() { 
      $window.open($location.$$absUrl + "?v=p", "_blank"); 
     }