2016-02-09 8 views
39

ऐसा लगता है कि नए AngularJS 1.5 घटक अवधारणा में कोई "प्रतिस्थापन" विकल्प नहीं है (जैसे यह निर्देशों के लिए था)।कोणीय घटक: कोई टेम्पलेट विकल्प प्रतिस्थापित नहीं है?

यदि आप तालिका पंक्ति<TR> तत्व के रूप में तत्व चाहते हैं तो आप क्या सुझाव देंगे? वैध HTML के संदर्भ में यह संभव नहीं है?

असली उदाहरण: मेलबॉक्स घटक में मेल घटक हैं। मार्क-मेल-घटक मार्कअप द्वारा तालिका है, और मेल-बॉक्स tr है।

<mail-box> 
    <mail ng-repeat="mail in $ctrl.mails" mail="mail"></mail> 
<mail-box> 

युपीडी: निर्देशों के बारे में संबंधित चर्चा - Why is replace deprecated in AngularJS?

+0

समाधान नहीं है सख्त संरचनात्मक आवश्यकताओं के साथ मार्कअप और सीएसएस का उपयोग करें। 'मेल' वास्तव में क्या करता है? सबसे अधिक संभावना मेलबॉक्स को इसकी कार्यक्षमता और पूरे टेम्पलेट को अवशोषित करना होता है। – estus

+0

मैं चाहता हूं कि प्रत्येक मेल अलग घटक –

+0

हो, यह निर्देशों के लिए काम नहीं है, घटक नहीं। घटक स्वयं निहित यूआई विगेट्स के लिए हैं, वेब घटक पर और पढ़ें। – estus

उत्तर

20

यह-कोणीय तरह से अब संभव नहीं है के बाद से बदल देते हैं: सच ध्वज पदावनत किया गया है

Why is replace deprecated in AngularJS?

प्रतिस्थापन: वास्तविक ध्वज समाधानों की तुलना में अधिक समस्याओं के साथ आया था जो मैं क्यों इसे हटा दिया गया था। इसलिए आप इस तरह से निर्देशों का निर्माण नहीं कर सकते हैं और वैध टेबल-टीआर-टीडी मार्कअप प्रदान नहीं कर सकते हैं।

हालांकि, वहाँ दो कारण हैं क्यों इस रूप में बुरा के रूप में यह लग रहा है नहीं है:

  1. आप सब कुछ आप तालिका के बिना क्या करना चाहते हैं कर सकते हैं, टीआर, टीडी, आदि div जैसे तत्वों बस का उपयोग कर , अवधि, आदि और कुछ सीएसएस

  2. वेब-घटक (और निर्देश उन्हें अनुकरण करने का पहला प्रयास थे) मार्कअप के ऐसे छोटे टुकड़ों का प्रतिनिधित्व करने के लिए नहीं हैं। वे वास्तव में कुछ करने के लिए पूरी तरह कार्यात्मक घटक के रूप में अधिक विचार कर रहे हैं। तो जो भी आप अपने tr के साथ करना चाहते हैं कि आप सोचते हैं कि इसके चारों ओर एक तत्व-निर्देश बनाने के लायक है, यह शायद नहीं है।

हो सकता है, आप क्या कर सकते एक विशेषता-निर्देश के बजाय का उपयोग कर रहा है:

<tr my-mail-directive></tr> 

और अपने मेरे मेल-निर्देश करता है टीआर तत्व पर जादू

+1

घटकों के लिए गुण भी संभव नहीं हैं, अगर मैं दस्तावेज़ों को सही ढंग से समझता हूं। "प्रतिबंधित: नहीं (केवल तत्वों तक ही सीमित)" – bersling

+0

@ पैट्रिककेल्टर जो शब्द आप उपयोग कर रहे हैं केवल भ्रम का कारण बनता है।घटक निर्देश नहीं हैं, निर्देश एक घटक कहने के लिए कोणीय 2 सादा और सरल का हिस्सा नहीं हैं, एक निर्देश है केवल एक व्यक्ति को भ्रमित करता है –

+0

@BrianOgden मैंने जो कहा वह है कि पुराने elment-directives (ng1, प्रतिबंधित: 'E') अब हैं ng2 में घटकों के रूप में जाना जाता है - जबकि OLD विशेषता-निर्देश (ng1, प्रतिबंधित: 'ए') ng2 में निर्देश के रूप में ज्ञात नहीं हैं। और हाँ - एनजी 2 में निर्देश हैं। कह रहे हैं कि निर्देश एनजी 2 का हिस्सा नहीं हैं - सादा और सरल है। इसके लिए प्रलेखन देखें https://angular.io/docs/ts/latest/guide/attribute-directives.html –

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