如何使用angularjs在新窗口中打开我的页面?

从我的控制器A,我正在做以下事情 –

$window.open("/signals", "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"); //$location,path("/signals"); 

我的routeprovider配置如下 –

 .when('/signals',{ templateUrl: 'app/views/signals.html', controller: 'signalsCtrl', controllerAs : 'signals' }) 

我的signalsCtrl控制器使用的服务返回一个必须在新窗口中显示的图像列表 – signals.html:

 angular.module('myApp').controller('signalsCtrl', ['$scope', '$log', 'criteriaService', function ($scope, $log, criteriaService) { var signals=this; signals.getUrls = function(){ return criteriaService.getUrls() }; }]); 

signals.html使用ng-repeat循环遍历列表并显示图像。

问题是当我使用$ location.path(“/ signals”)时,当我单击父页面上的按钮时,它会在同一窗口(重定向)中打开新页面时工作正常。 但是使用$ window.open它根本不起作用。 当我尝试使用$ window.open(“/ signals”)尝试访问此页面时,我看不到我的控制器(SignalsCtrl)被触发。

我怎样才能让它发挥作用?

我也考虑过使用模态,但是当用户可以在父页面上工作时,我需要让模态始终保持打开状态。 然而,模态不允许这样做。 所以我试图在新窗口中创建一个新页面,但这也不起作用。

这里的任何指针都将非常感激。

我看到当页面加载时我们正在重置会话。 由于窗口打开一个新页面,会话正在重置,并且由于它返回到主页面,因此用户可以再次选择条件。

  this.login = function (credentials) {alert("called login from loginController"); AuthService.login(credentials).then(function(principal){ selectionCriteria.clear(); sessionService.reset(); $location.path('/'); }, function(){ login.error = true; }); } 

谢谢!!