我有一个旧系统,例如用户可以在某个链接上执行右键单击新表,在新选项卡中系统将在同一页面中打开,但现在我使用angularjs和我的用户构建了一个新的系统SPA想要相同的功能,但总是我打开新标签系统在主页面打开,当然是SPA和系统没有sabe上下文。 我认为我需要创建一个存储来创建这个,但这将是一个很好的做法吗?
答案 0 :(得分:1)
如果您希望它仅在右键单击时起作用,请在ng-mousedown上使用以下函数并将$ event传递给它。检查右键单击事件&然后在新标签中打开状态。
$scope.openInNewTab = function(e){
//console.log(e.button);
if(e.button === 2) {
var url = $state.href('PageTab.Page2', {});
window.open(url,'_blank');
}
}
<p ng-mousedown="openInNewTab($event)">Open page 2 in new tab</p>
这是工作的plunker链接:https://plnkr.co/edit/mo96eXMLKfHkUWPKPG2m?p=preview