Angular 2路由导航在新选项卡中运行(使用Angular Router naviagte)

时间:2018-05-25 04:19:30

标签: angular angular-routing angular-router

如果使用router.navigate,如何打开新的浏览器Tab。

this.router.navigate([]).then(result => { window.location.href = link; });

6 个答案:

答案 0 :(得分:7)

试试这个。

this.router.navigate([]).then(result => {  window.open(link, '_blank'); });

答案 1 :(得分:1)

这将在新标签中打开:

const http = require('http'),
    express = require('express'),
    { createProxyMiddleware } = require('http-proxy-middleware')
const app = express()

app.use('/serverOne', createProxyMiddleware({target:'http://localhost:4000', changeOrigin: true, pathRewrite: {'^/serverOne' : '/'}}))
app.use('/serverTwo', createProxyMiddleware({target:'http://localhost:3000', changeOrigin: true, pathRewrite: {'^/serverTwo' : '/'}))

app.listen(2000);

答案 2 :(得分:0)

目前我相信angular并没有提供任何方法或服务来做到这一点所以我使用window对象在新标签页中打开链接 window.open(link, '_blank')

答案 3 :(得分:0)

要导航到新选项卡,而不是直接调用导航:

this.router.navigate(routerCommands, { queryParams });

使用createUrlTreeserializeUrl,这样您就可以使用navigate() 中使用的相同参数构建您的URL,但无需导航当前选项卡(只有新选项卡):

 const link = this.router.serializeUrl(this.router.createUrlTree(routerCommands, { queryParams }));
 window.open(link, '_blank');

答案 4 :(得分:-1)

window.open(window.location.href+"/yourRoute", '_blank');

答案 5 :(得分:-2)

Esto deberia funcionar tambien en angle:

  abrirVentana() {
var URL = 'https://stackoverflow.com/';
window.open(URL, '_blank');

}