我有控制器'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
};
例如,我有根视图网址:
http://dev.test.com/reports/date/#/showreport
现在,按下按钮后我想创建:
http://dev.test.com/reports/date/#/showreport/table_name
并在新标签中将其打开。如您所见,我尝试了$window.open($location.path());
,但它不起作用,没有任何反应。
谢谢,
答案 0 :(得分:23)
您正在使用另一个可能使Angular混淆的函数打开一个新窗口。
尝试在$window.open(real_path)
中传递字符串,其中real_path是包含您要导航的路径的字符串
答案 1 :(得分:17)
如果要在ctrl +单击或同一选项卡中的新选项卡中打开角度页面,请尝试以下操作: -
HTML:
<a ng-click="navigationUrl($event)">My Link</a>
JS:
var navigationUrl = function (event) {
if (event.ctrlKey) {
window.open(url, '_blank'); // in new tab
} else {
$location.path(url); // in same tab
}
};
答案 2 :(得分:4)
还有一个选择是使用ng-href
HTML:
<a ng-href="#/courses/{{employee.courseId}}/employees/{{employee.id}}"
target="_blank"> {{employee.employeeNumber}}
</a>
其中url基于您要重定向的位置
答案 3 :(得分:1)
要在新窗口中打开新视图,请执行以下代码:
window.open($location.$$absUrl.replace($location.$$path,NEW_PATH), '_blank');
答案 4 :(得分:1)
尽管这里投票最多的答案可能适用于大多数场景,但我想添加我发现的实现OP所需的方式(我也需要它):
var viewPath = '/InsideMyView';
var currentPath = window.location.href.substr(0, window.location.href.indexOf('#') + 1);
var fullPath = currentPath + viewPath;
$window.open(fullPath, '_blank');
解释:您只需要获取应用的根网址,然后您可以在网址中使用#
(由angular添加),然后连接视图获取完整网址的路径。
答案 5 :(得分:0)
这对我有用。
HTML:
<div ng-click="OpenBrowserInNewTab(someKeyValue)"</div>Click Me </div>
控制器:
`$scope.OpenBrowserInNewTab = (someKeyValue) ->
tabWindowId = window.open('/abcdef/ghijk/' + someKeyValue + '', _blank')
$http.post("/abcdef/ghijk/#someKeyValue", data).then (response) ->
tabWindowId.location.href = response.headers('Location')
return
return`
答案 6 :(得分:0)
在带有角度参数
的新标签页中打开视图 <a target="_blank" class="btn" data-ng-href="@Url.Action("Hotel", "Home")?hotelCode={{hotel.code}}"> Click Hear</a>
答案 7 :(得分:0)
尝试这个?
window.open(yourURL+'create-account',)
window.open
默认在新标签页中打开链接