कोणीय का उपयोग करके नए टैब में एक लिंक कैसे खोलें?


84

मेरे पास एक कोणीय 5 घटक है जिसे नए टैब में एक लिंक खोलने की आवश्यकता है, मैंने निम्नलिखित की कोशिश की:

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

जब मैं लिंक खोलता हूं, तो एप्लिकेशन धीमा हो जाता है और जैसे कोई मार्ग खोलता है:

localhost:4200/www.example.com

मेरा सवाल है: कोणीय में ऐसा करने का सही तरीका क्या है?


3
यह मेरे लिए काम करता है<a href="https://example.com" target="_blank">page link</a>
एम मंसूर

आप बस इस्तेमाल कर सकते हैं<a [href]="'www.example.com'" target="_blank">Link</a>
कोच

जवाबों:


122

का उपयोग करें window.open()। यह बहुत सीधा है!

आपकी component.htmlफ़ाइल में-

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

आपकी component.tsफ़ाइल में-

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

क्या कोई ऐसा करने का एक तरीका बता सकता है जहाँ goToLink फ़ंक्शन के भीतर स्ट्रिंग 'मैजिक स्ट्रिंग' नहीं है? उदाहरण के लिए, एक चर के माध्यम से?
ब्रायन एलन वेस्ट

@BrianAllanWest मैं बस इसी घटक फ़ाइल में एक चर सेट करेगा और HTML में पैरामीटर को छोड़ देगा। यदि यह काम नहीं करता है, तो बस इसे डिफ़ॉल्ट बाइंडिंग प्रॉपर्टी [] का उपयोग करके टेम्पलेट से बाँध लें और फिर आप उस पर जो भी लॉजिक चाहें, चला सकते हैं। । html goToLink () .ts goToLink () {window.open (आपका वैरिएबल यहां, "
_ब्लैंक

मैं इसे एक छोटी पॉपअप विंडो में कैसे जाने दे सकता हूं, और इसके URL में परिवर्तन सुन सकता हूं।
मुस्तफा अल बेलिएहि

मैं एक href=''जोड़ूंगा, तो यह अभी भी क्लिक करने योग्य लगता है
लियोनार्डो रिक

बिना _blank के उपयोग कर सकते हैं । डिफ़ॉल्ट रूप से, एक नया टैब खुलता है।
यूरी मततोव

36

बस इस तरह के रूप में पूर्ण यूआरएल का उपयोग करें:

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

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

और आपके Component.ts में

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

मेरे लिए यह केवल "//" के बिना काम करता है
निकोलस

1
का उपयोग कर "//" + SITEURL तो https: // या http: // SITEURL में प्रतिबद्ध होना चाहिए, हो सकता है उसके लिए आपको @Nicolas समस्या पैदा कर रहा था
बोस्जन Pišler

10

में app-routing.modules.tsफ़ाइल:

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

में component.htmlफ़ाइल:

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

8

मैंने अभी राउटर के साथ एक नया टैब खोलने का एक वैकल्पिक तरीका खोजा है।

अपने टेम्पलेट पर,

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

और अपने कंपोनेंट पर। रूट को स्ट्रिंग में बदलने के लिए आप serializeUrl का उपयोग कर सकते हैं, जिसका उपयोग किया जा सकता है window.open()

openNewTab() {
  const url = this.router.serializeUrl(
    this.router.createUrlTree(['/example'])
  );

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

5

इसे इस्तेमाल करे:

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

उपयोग करने की आवश्यकता नहीं है '_blank'window.openडिफ़ॉल्ट रूप से एक नया टैब में एक लिंक खोलता है।


1
वह कोशिश क्यों करे? वह क्या करता है?
एंड्रियास

1
यह इस सवाल का जवाब है कि "कोणीय 5 में नए टैब में लिंक कैसे खोलें" विंडो। नए टैब में डिफ़ॉल्ट रूप से खुले लिंक द्वारा
DINESH Adhikari

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>

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();
  }

0

आप बाइंडिंग प्रॉपर्टी व्हाइट रूट की कोशिश कर सकते हैं

आपके घटक में user:any = 'linkABC';

अपने घटक में। html <a target="_blank" href="yourtab/{{user}}">new tab </a>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.