Angularjs $ state在新标签中打开链接
我试图使用$ state.go函数实现“在新标签中打开链接”function。 如果有这样的话,那将是非常棒的:
$state.go('routeHere', { parameter1 : "parameter" }, { reload : true, newtab : true // or smth like target : "_blank" });
有没有办法使用AngularJS来做到这一点?
谢谢,
亚历克斯
更新:好的,我刚刚解决它使用下面的代码:
var url = $state.href('myroute', {parameter: "parameter"}); window.open(url,'_blank');
我只是试过这个 – 显然,添加target="_blank"
与ui-sref
协同工作:
<a ui-sref="routeHere" target="_blank">A Link</a>
省去了添加代码到你的控制器的麻烦,并给你hover的URL像任何正常的链接。 双赢!
如果您的应用程序位于子文件夹中,则可能无法在本地主机上运行。 其实我也有同样的问题。
我已经尝试过在线,并按预期工作,使用:
<a ui-sref="routeHere" target="_blank">Link</a>
我有类似的问题,如果以前的答案没有为您工作,请尝试这个。
var url = '#' + $state.href('preview'); window.open(url,'_blank');
所以基本上在本地主机上工作,而不追加'#'
它只是redirect到
本地主机/预览
, 代替
本地主机/ PROJECT_NAME /#/预览
我不是在这里传递数据,只是在新标签中打开$ state。
尝试这个!
<a ui-sref="routeHere({parameter: vm.parameter})" target="_blank"></a>
ui-sref="routeHere" href=""target="_blank"
这段代码解决了我的问题。
在一个锚标签中使用这个。