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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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
Angularjs 如何使用$location,angular在浏览器中打开新选项卡?_Angularjs - Fatal编程技术网

Angularjs 如何使用$location,angular在浏览器中打开新选项卡?

Angularjs 如何使用$location,angular在浏览器中打开新选项卡?,angularjs,Angularjs,我有controller'reportCtrl'和HTML,它们表示6个表和数据,并且一次只显示几行 app.js var appReport = angular.module('myAppReport', []); appReport.config(['$routeProvider', function($routeProvider) { $routeProvider.when('/showreport', {templateUrl: 'app/reports/rep

我有controller
'reportCtrl'
和HTML,它们表示6个表和数据,并且一次只显示几行

app.js

var appReport = angular.module('myAppReport', []);

appReport.config(['$routeProvider', function($routeProvider) {
            $routeProvider.when('/showreport', {templateUrl: 'app/reports/reportsView.html', controller: 'reportCtrl'});
            $routeProvider.when('/showreport/:type', {templateUrl: 'app/reports/reportsView.html', controller: 'reportCtrl'});
每个表都有一个按钮,单击该按钮时,应在浏览器中打开“扩展表”的新选项卡:

scope.onClick = function(path){
    var real_path = $location.path() + '/' + path + '/';
    $location.path( real_path );
    // $window.open($location.path()); // doesn't work
};
例如,我有根视图URL:

http://dev.test.com/reports/date/#/showreport
现在,按下按钮后,我要创建:

http://dev.test.com/reports/date/#/showreport/table_name
并在新选项卡中打开它。如您所见,我尝试了
$window.open($location.path())但它不起作用,什么也没发生


谢谢,

您正在使用另一个功能打开一个新窗口,这可能会让您感到困惑

尝试在
$窗口中传递字符串。open(real\u path)
其中real\u path是一个字符串,其中包含您要导航的路径

这对我很有效

HTML:
如果要在按住ctrl键的同时单击新选项卡或在同一选项卡中打开角度页面,请尝试以下操作:-

HTML:

<a ng-click="navigationUrl($event)">My Link</a>

还有一个选项是使用ng href

HTML:



如果url基于在新窗口中打开新视图时要重定向的位置,请执行以下代码:

window.open($location.$$absUrl.replace($location.$$path,NEW_PATH), '_blank');

在具有角度参数的新选项卡中打开视图

   <a  target="_blank" class="btn" data-ng-href="@Url.Action("Hotel", "Home")?hotelCode={{hotel.code}}"> Click Hear</a>

虽然这里投票最多的答案可能适用于大多数情况,但我想添加我找到的实现OP想要的方法(我也需要这个):



解释:您只需获取应用程序的根URL,您可以使用URL中的
#
(由angular添加),然后连接视图路径以获取完整URL。

试试这个检查:您混淆了angular path,它位于URL中的哈希之后,满腹经纶url@charlietfl你能解释一下吗?我写错了吗?谢谢
$window。打开
应该可以。您是否正确注入了
$window
服务?您也可以尝试这样调用它:
$window.open(real\u path,“\u blank”)。请提供更多信息/代码或提示,以便我们更好地了解问题。
window
$window
没有太大区别。如果您不能使用$window,您可以尝试像
var-win=window.open(real_path,'.'u blank')欢迎来到SO。请更具体地介绍您的代码示例,以及从实际问题中更正的代码。您能解释一下这会如何混淆吗?如果我右键单击并选择“在新选项卡中打开链接”,这会起作用吗?@AkashAgrawal Yes他为什么要尝试?这是做什么的?
窗口。默认情况下打开
在新选项卡中打开链接
 <a  ng-href="#/courses/{{employee.courseId}}/employees/{{employee.id}}" 
      target="_blank"> {{employee.employeeNumber}}
 </a>
window.open($location.$$absUrl.replace($location.$$path,NEW_PATH), '_blank');
   <a  target="_blank" class="btn" data-ng-href="@Url.Action("Hotel", "Home")?hotelCode={{hotel.code}}"> Click Hear</a>
var viewPath = '/InsideMyView';
var currentPath = window.location.href.substr(0, window.location.href.indexOf('#') + 1);
var fullPath = currentPath + viewPath;
$window.open(fullPath, '_blank');