2016-09-02 18 views
5

मैं टेम्पलेट की तरह एक घटक बनाना चाहता हूं। उदाहरण के लिए, के बजाय इस हर जगह लिख:एक घटक के अंदर कोणीय 2 एचटीएमएल

<div class="myClass"> 
    <div class="myHeader" id="headerId"> Title </div> 
    <div class="myContent" id="contentId"> <<Some HTML code>> </div> 
</div> 

मैं की तरह एक घटक का उपयोग करना चाहते हैं:

<my-component title="Title" headerID=headerId contentID=contentID> 
    <<Some HTML code>> 
</my-component> 

मैं Angular2 में इस तरह के कुछ कैसे लागू कर सकते हैं?

+1

आपने क्या प्रयास किया है? समस्या क्या है? प्रश्न से संबंधित '<< कुछ HTML कोड >> 'कैसे है? –

+1

मैंने कुछ भी नहीं किया क्योंकि मैं Angular2 में बहुत अनुभवी नहीं हूं। मैंने इसे गुगल किया लेकिन मुझे जो भी चाहिए, उसके समान कुछ नहीं मिला। मैं यहां सुझावों की तलाश में हूं। –

+0

तो आप क्या चाहते हैं? वांछित व्यवहार या परिणाम क्या है? यदि आप बस एक साधारण घटक बनाते हैं, तो आप जो भी चाहते हैं वह नहीं करता है? –

उत्तर

-1

कुछ इस तरह रेंडर किया जाएगा:

<my-component 
    [title]="someTitle" 
    [body]="someBody"> 
</my-component> 

नोट:: <my-component> के लिए यदि आप [] साथ body और title जोड़ने के लिए, यह घटक खोज करेंगे जिसमें आप उपयोग कर रहे हैं मेरी-component.ts

import { Component, Input } from '@angular/core'; 

@Component({ 
selector: 'my-component', 
template: ` 
<div>{{title}}</div> 
<div>{{body}}</div> 
` 
}) 

export class ChildComponent { 

@Input() title: string; 
@Input() body: string; 

} 

तो फिर तुम इसे इस तरह उपयोग कर सकते हैं someTitle और someBody नामक चर, लेकिन यदि आप [] के बिना इसे जोड़ते हैं, तो यह someTitle और someBody स्ट्रिंग के रूप में पढ़ेगा।

+0

मुझे लगता है कि यह संयोजन और मेरे लिए अच्छा काम करेगा। धन्यवाद! –

+0

आपका स्वागत है, अगर आपको कोई समस्या आती है तो यहां पोस्ट करने के लिए स्वतंत्र महसूस करें। –

23

अपने घटक में <ng-content></ng-content> का उपयोग करें।

my.component.html

<div class="myClass"> 
    <div class="myHeader" id="headerId"> Title </div> 
    <div class="myContent" id="contentId"> <ng-content></ng-content> </div> 
</div> 

parent.component.html

<my-component title="Title" headerID=headerId contentID=contentID> 
    <<Some HTML code>> 
</my-component> 

जो भी अंदर है <my-component></mycomponent> में <ng-content></ng-content>

+0

यह वही है जो मैं चाहता हूं। धन्यवाद! –

+0

सामग्री की आलसी लोडिंग को मजबूर करने का कोई तरीका है? यदि मैं अपने घटक में संदिग्ध रूप से शामिल करता हूं, तो सभी सामग्री प्रारंभ हो जाती है भले ही स्थिति गलत है - उदाहरण के लिए जब सामग्री में कुछ अन्य घटक होते हैं। – Antoniossss

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