如何在角度为5的新标签页中打开链接

时间:2018-09-08 23:18:46

标签: angular routing

我有一个angular 5组件,需要在新标签页中打开链接,我尝试了以下操作:

<a href="www.example.com" target="_blank">page link</a>

当我打开链接时,应用程序变慢并打开如下路径:

localhost:4200/www.example.com

我的问题是: 正确地做到这一点的正确方法是什么?

9 个答案:

答案 0 :(得分:12)

使用window.open()。这很简单!

在您的component.html文件中-

<a (click)="goToLink("www.example.com")">page link</a>

在您的component.ts文件中-

goToLink(url: string){
    window.open(url, "_blank");
}

答案 1 :(得分:10)

<a [routerLink]="" (click)="openSite(SiteUrl)">{{SiteUrl}}</a>

和您的Component.ts

openSite(siteUrl) {
   window.open("//" + siteUrl, '_blank');
}

答案 2 :(得分:7)

我刚刚发现了使用路由器打开新标签页的另一种方法。

在模板上,

<a (click)="openNewTab()" >page link</a>

在component.ts上,您可以使用serializeUrl将路由转换为字符串,该字符串可以与window.open()

一起使用。
openNewTab() {
  const url = this.router.serializeUrl(
    this.router.createUrlTree(['/example'])
  );

  window.open(url, '_blank');
}

答案 3 :(得分:5)

尝试这个?

 window.open(this.url+'/create-account')

无需使用'_blank'

`window.open` by default open link in new tab 

答案 4 :(得分:5)

只需将target="_blank"添加到

<a mat-raised-button target="_blank" [routerLink]="['/find-post/post', post.postID]"
    class="theme-btn bg-grey white-text mx-2 mb-2">
    Open in New Window
</a>

答案 5 :(得分:3)

app-routing.modules.ts文件中:

{
    path: 'hero/:id', component: HeroComponent
}

component.html文件中:

target="_blank" [routerLink]="['/hero', '/sachin']"

答案 6 :(得分:2)

某些浏览器可能会阻止window.open(url, "_blank");创建的弹出窗口。 另一种方法是创建一个链接,然后单击它。

...

  constructor(@Inject(DOCUMENT) private document: Document) {}
...

  openNewWindow(): void {
    const link = this.document.createElement('a');
    link.target = '_blank';
    link.href = 'http://www.your-url.com';
    link.click();
    link.remove();
  }

答案 7 :(得分:1)

仅使用完整的URL作为href,就像这样:

<a href="https://www.example.com/" target="_blank">page link</a>

答案 8 :(得分:0)

您可以尝试绑定属性白色路线

在您的component.ts中 user:any = 'linkABC';

在您的component.html中 <a target="_blank" href="yourtab/{{user}}">new tab </a>