2016-03-30 7 views
7

,RouterLink साथ तत्व जोड़ें गतिशील

<a [routerLink]="['/LoggedIn/Profile']">Static Link</a> 

सब कुछ ठीक काम कर रहा है। लिंक पर क्लिक करते समय, कोणीय राउटर मुझे लक्षित घटक पर ले जाता है।

अब मैं एक ही लिंक को गतिशील रूप से जोड़ना चाहता हूं। मेरे ऐप में कहीं मेरे पास "अधिसूचना घटक" है, जो एकल जिम्मेदारी अधिसूचनाओं को प्रदर्शित करना है।

सूचनाएं घटक कुछ इस तरह है:

<div [innerHTML]="notification.content"></div> 

जहां notification.content NotificationComponent कक्षा में स्ट्रिंग चर रहा है, और HTML प्रदर्शित करने के लिए होता है।

notification.content चर

की तरह कुछ शामिल कर सकते हैं
<div>Click on this <a [routerLink]="['/LoggedIn/Profile']">Dynamic Link</a> please</div> 

सब कुछ ठीक काम करता है और अपनी स्क्रीन पर दिखाई देता है, लेकिन कुछ नहीं होता जब मैं गतिशील लिंक पर क्लिक करें ?!

क्या इस गतिशील रूप से जोड़े गए लिंक के साथ कोणीय राउटर को काम करने का कोई तरीका है ???

ps। मुझे डायनामिक कॉम्पोनेंट लोडर के बारे में पता है, लेकिन मुझे वास्तव में एक और अप्रतिबंधित समाधान की आवश्यकता है जहां मैं सभी प्रकार के विभिन्न लिंक के साथ अपने अधिसूचना घटक में सभी प्रकार के HTML भेज सकता हूं ....

+0

अरे देखते हैं, आप किसी भी संयोग से समाधान मिल गया है? – ValeriiVasin

उत्तर

1

routerLink एक निर्देश है। एचटीएमएल के लिए निर्देश और घटक नहीं बनाए गए हैं जिन्हें [innerHTML] का उपयोग करके जोड़ा गया है। यह एचटीएमएल किसी भी तरह से कोणीय द्वारा प्रक्रिया नहीं है।

तरह से सिफारिश की [innerHTML] लेकिन DynamicComponentLoader ViewContainerRef.createComponent जहाँ आप एक घटक में HTML लपेट और यह गतिशील जोड़ने का उपयोग नहीं करने के लिए है।

एक उदाहरण के लिए Angular 2 dynamic tabs with user-click chosen components

+1

हम्म यह वह उत्तर नहीं था जिसका मैं उम्मीद कर रहा था। मैं वास्तव में हर अलग अधिसूचना के लिए एक घटक बनाना नहीं चाहता हूं। मैं उम्मीद कर रहा था कि किसी भी नए जोड़े गए निर्देशों या कुछ के लिए कोणीय स्कैन को डोम करने का कोई तरीका था ... – Jeroen1984

+0

आप घटक को डेटा पास कर सकते हैं और घटकों के टेम्पलेट में इसे समान परिदृश्यों के लिए पुन: प्रयोज्य बनाने के लिए बाध्य कर सकते हैं। यह सीमा आमतौर पर केवल एक समस्या है यदि HTML उपयोगकर्ता द्वारा प्रदान की जाती है और बिल्ड समय पर जानना असंभव है। –

+0

गतिशील रूप से जोड़ा गया घटक अन्य घटकों द्वारा प्रदान किया जा सकता है, उन्हें निर्देशों में सूचीबद्ध होने की आवश्यकता नहीं है: [...] ' –

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