新しいタブでリンクを開く必要がある角度5コンポーネントがあります。次のことを試しました。
<a href="www.example.com" target="_blank">page link</a>
リンクを開くと、アプリケーションが遅くなり、次のようなルートが開きます。
localhost:4200/www.example.com
私の質問は:これを角度で行う正しい方法は何ですか?
回答:
を使用しwindow.open()
ます。それはかなり簡単です!
あなたのcomponent.html
ファイルで-
<a (click)="goToLink("www.example.com")">page link</a>
あなたのcomponent.ts
ファイルで-
goToLink(url: string){
window.open(url, "_blank");
}
href=''
ので、それでもクリック可能に見えます
<a [routerLink]="" (click)="openSite(SiteUrl)">{{SiteUrl}}</a>
およびComponent.ts内
openSite(siteUrl) {
window.open("//" + siteUrl, '_blank');
}
これを試して:
window.open(this.url+'/create-account')
使用する必要はありません'_blank'
。window.open
デフォルトでは、新しいタブでリンクが開きます。
一部のブラウザは、によって作成され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();
}
あなたはルートでプロパティをバインドしてみることができます
あなたのcomponent.tsで
user:any = 'linkABC'
;
component.htmlで
<a target="_blank" href="yourtab/{{user}}">new tab </a>
<a href="https://example.com" target="_blank">page link</a>