2017-01-20 21 views
6

में टेम्पलेट एचटीएमएल आंशिक इंजेक्शन इंजेक्शन घंटों के दौरान अजीब खरगोश छेद नीचे निकलने के बाद ngTemplateOutlets, घटक फैक्ट्री रिसावर्स, और व्यूचल्ड विषमता के साथ घूमते हुए ... मुझे लगता है कि वहां एक बेहतर तरीका होना चाहिए।एंगुलर 2

मेरे पास एक घटक है जिसका HTML टेम्पलेट बड़ा हो रहा है। संगठनात्मक उद्देश्यों के लिए शुद्ध रूप से, मैं कुछ HTML को उप-टेम्पलेट्स (अन्य फ़ाइलों) में ले जाना चाहता हूं। मैं फिर उन्हें अपने मास्टर टेम्पलेट में खींचने के लिए एक पंक्ति रखना चाहता हूं, लेकिन सबकुछ के लिए दायरा और संदर्भ समान रहना चाहिए।

मैं इसे अपने स्वयं के घटक में सब कुछ लपेटकर काम करने के लिए प्राप्त कर सकता हूं लेकिन यह एक अपशिष्ट की तरह लगता है, और मुझे पूरे जगह पर @ ऑटपुट इवेंट एमिटर की आवश्यकता होगी, जो कचरे की तरह लग रहा है।

मुझे मिला "अच्छा" के सबसे नज़दीकी [आंतरिक एचटीएमएल] है, लेकिन जाहिर है यह काम नहीं करेगा क्योंकि कोणीय 2 उस एचटीएमएल को संसाधित नहीं करता है जिसमें यह फेंकता है। मैं ईमानदारी से हैरान हूं कि कोई सीधी आगे नहीं है ऐसा करने का तरीका ... किसी भी सोच को किसी भी इनलाइन टेक्स्ट को इंजेक्ट करने का एक आसान तरीका नहीं है जो सामान्य के रूप में संसाधित हो जाता है।

इष्टतम समाधान गुंजाइश और संदर्भ कि सामान्य इनलाइन एचटीएमएल होगा में उपयोग, सब कुछ करने के लिए की तरह

<div> 
    all my regular content 
</div> 

<template [ngExternalTemplate]="./app/home/templates/my-template.html"></template> 

और यह सब एचटीएमएल कि टेम्पलेट में इंजेक्शन सुलभ हो जाएगा, और सक्षम कुछ ऐसा दिखाई देगा।

इसे हल करने के तरीके पर कोई विचार? मुझे एचटीएमएल बहुत बड़ा लगता है, लेकिन वास्तव में इसे कई घटकों में विभाजित नहीं किया जाना चाहिए क्योंकि यह सब एक ही दृश्य को प्रबंधित कर रहा है।

आखिरी उपाय के रूप में मुझे लगता है कि मैं थोड़ा सा गलती के साथ कार्रवाई कर सकता हूं लेकिन यह सुपर हैकी लगता है।

उत्तर

1

आपको अपने टेम्पलेट को बहुत बड़े टेम्पलेट बनाने के बजाय घटकों में विभाजित करना चाहिए। आपके लिए विशिष्ट समस्या के लिए आपको टेक्स्ट प्रीप्रोसेसर की आवश्यकता होगी।

+1

जैसा कि मेरे प्रश्न में बताया गया है, जाहिर है, मुझे पता है कि मैं इसे कई घटकों में विभाजित कर सकता हूं, लेकिन ऐसा नहीं लगता कि यह इस मामले के लिए उपयुक्त है क्योंकि यह सभी एक ही दृश्य और उसी डेटासेट –

+1

हाँ का प्रबंधन कर रहा है, इसलिए मैं ठीक से ऐसा कर रहा हूं और उन्हें अलग-अलग घटकों में विभाजित कर रहा है ... एक बेहतर जवाब नहीं मिला –