2017-06-16 16 views
6

मेरे पास कोणीय राउटर का उपयोग कर कोणीय 4 एसपीए एप्लीकेशन है। मैं हाइपरलिंक चाहता हूं जो बूटस्ट्रैप 4 का उपयोग करके नए संवाद में एक घटक खोलता है। मुझे पहले से ही पता है कि फ़ंक्शन से मोडल डायलॉग कैसे खोलें।कोणीय 4 राउटर और मोडल संवाद

लेकिन हाइपरलिंक का उपयोग करके इसे कैसे खोलें?

<a [routerLink]="['/login']">Login</a> 

मैं अपना वर्तमान घटक छोड़ना चाहता हूं और इसके सामने मोडल संवाद दिखाना चाहता हूं।

एक और सवाल - क्या यह प्रोग्रामिक रूप से करना संभव है? ताकि मैं

this.router.navigate(['/login']); 

और लॉगिन मोडल संवाद वर्तमान घटक पर प्रदर्शित होता है?

कोई सुझाव?

उत्तर

6

मेरा सबसे अच्छा अनुमान है कि आप सक्रिय मार्ग की सदस्यता लेना चाहते हैं और मोडल ट्रिगर करने के लिए मार्ग में पैरा बदल सकते हैं।

import { ActivatedRoute, Params } from '@angular/router'; 
import { Component, OnInit } from '@angular/core'; 

@Component({ 
    selector: 'cmp1', 
    templateUrl: './cmp1.component.html', 
    styleUrls: ['./cmp1.component.css'], 
}) 
export class Cmp1 implements OnInit { 

    constructor(private activatedRoute: ActivatedRoute) { 
    } 

    ngOnInit() { 
     this.activatedRoute.params.subscribe(params => { 
      if (params["modal"] == 'true') { 
       // Launch Modal here 
      } 
     }); 
    } 
} 

मेरा मानना ​​है कि आप तो एक कड़ी है कि कुछ इस तरह देखा होगा: <a [routerLink]="['/yourroute', {modal: 'true'}]">

बेहतर उदाहरण यहां पाया जा सकता है: Route Blog

+0

सुझाव के लिए धन्यवाद। "/ Yourroute" में किस घटक को मैप किया जाएगा? क्या यह सीएमपीएल होगा? – Sergey

+0

ऐसा लगता है कि आप वाकई रूट के बजाय रूट पैरामीटर को बदलना चाहते हैं ... मैंने पहले ऐसा नहीं किया है, लेकिन आप इसे [लिंक] देख सकते हैं (https://stackoverflow.com/questions/40283562/ कैसे करने के लिए परिवर्तन केवल-पैरामीटर के- मार्ग में angular2) – birwin

संबंधित मुद्दे