Angular 在新选项卡中打开URL

Angular 在新选项卡中打开URL,angular,Angular,我知道Angular 1.x中有一个$windowservice。现在,我想在一个新的标签中打开一个URL,我还没有找到任何可以这样做的服务 更新: 看起来Angular 2本身并没有像Angular 1.x那样提供方法/服务。如果你想在Angular应用程序中导航,你可以参考。我问这个问题是因为我想使用Angular提供的一些方法导航,但没有一个答案是我所期望的。听起来OP想知道如何使用angular2中的$window在新选项卡或窗口中打开链接,而不是区分它们。如果这对任何人都有帮助,请首先

我知道Angular 1.x中有一个
$windowservice
。现在,我想在一个新的标签中打开一个URL,我还没有找到任何可以这样做的服务

更新:

看起来Angular 2本身并没有像Angular 1.x那样提供方法/服务。如果你想在Angular应用程序中导航,你可以参考。我问这个问题是因为我想使用Angular提供的一些方法导航,但没有一个答案是我所期望的。

听起来OP想知道如何使用angular2中的$window在新选项卡或窗口中打开链接,而不是区分它们。如果这对任何人都有帮助,请首先声明窗口:

interface MyWindow extends Window {
    myFunction(): void;
}

declare var window: MyWindow;
然后像往常一样打开链接

window.open(url);
您可以在锚定标记上设置target=“\u blank”以在新选项卡中打开URL

<a [href]="url" target="_blank">Some URL</a>

使用
nagivationEnd
事件,并在组件的HTML页面中使用此
[routerLink]=“moduleMenu.ROUTE”

this.router.events.subscribe(事件=>{
if(NavigationEnd的事件实例){
let子菜单:菜单=新菜单();
var appName:string=localStorage.getItem('activeGroupModuleName');
var menuItems:Menus[]=JSON.parse(localStorage.getItem('MenuList'))作为菜单[];
如果(event.url!='/atpar'){
if(menuItems!=null&&menuItems!=未定义){
对于(变量i=0;i=0&&appName==menuItems[i].APP\u NAME){
子菜单=菜单项[i];
打破
}
}
setItem('submenu',JSON.stringify(submenu));
this.title.setTitle(AtParConstants.PRODUCT_NAME+'-'+子菜单.MENU NAME);
}
否则{
this.title.setTitle(AtParConstants.PRODUCT_NAME+'-'+'仪表板');
}
}
否则{
this.title.setTitle(AtParConstants.PRODUCT_NAME+'-Dashboard');
}
}
});

这在角路由器中现在是可能的检查此@MurhafSousli感谢您的回答。嗨@Dovev Hefetz。。。你的回答对我来说就像宝石一样..谢谢我们可以在新窗口而不是新标签中打开url吗?@Ricky new window vs new tab是一个浏览器首选项,不能由代码afaik控制