新标签上的SPA打开页面

时间:2017-07-10 14:18:36

标签: angularjs

我有一个旧系统,例如用户可以在某个链接上执行右键单击新表,在新选项卡中系统将在同一页面中打开,但现在我使用angularjs和我的用户构建了一个新的系统SPA想要相同的功能,但总是我打开新标签系统在主页面打开,当然是SPA和系统没有sabe上下文。 我认为我需要创建一个存储来创建这个,但这将是一个很好的做法吗?

1 个答案:

答案 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