2016-02-24 12 views
6

मैं एक कस्टम डाटाग्रिड बनाने की कोशिश कर रहा हूं जो डेटा या तो कार्ड या अधिक पारंपरिक तालिका/सूची/ग्रिड के रूप में प्रदर्शित कर सकता है। यदि मैं इस plunkerकोणीय 2 एकाधिक टेम्पलेटरफ

में दिखाए गए टेम्पलेट्स को अनुकूलन योग्य नहीं करना चाहता हूं, तो यहां मेरे पास my-grid घटक है जो डेटा को प्रस्तुत करने के लिए पास हो जाता है। तब मैं डेटा पर पाश और वांछित दृश्य जो (app/my-grid.ts फ़ाइल में कोड) view toggle द्वारा नियंत्रित किया जाता

मैं कस्टम टेम्पलेट में पारित करने की क्षमता प्रदान करना चाहते हैं और मैं कुछ सोच रहा हूँ पर निर्भर करता है card-view या list-view घटक प्रस्तुत करना इस तरह:

<my-grid> 
    <card-view-template> 
    <template var-item> 
     <h4>{{item.name}}</h4> 
     {{item.home}} 
    </template> 
    </card-view-template> 
    <list-view-template> 
    <template var-item> 
     <span>{{item.name}}</span> 
     {{item.home}} 
    </template> 
    </card-view-template> 
</my-grid> 

मैं कहां से चाहता हूं कि मैं कहां से प्राप्त कर सकता हूं?

+0

आप अन्य संरचनात्मक निर्देशों जैसे '* ngFor' के स्रोत पर नज़र डाल सकते हैं। मेरे पास एक संक्षिप्त रूप था लेकिन अभी तक एक कस्टम कार्यान्वयन का एक कामकाजी उदाहरण नहीं है। –

उत्तर

4

मैं दिखाया गया है here

import {Component, Directive, ContentChild, TemplateRef} from 'angular2/core'; 

    @Directive({ 
     selector: 'card-view' 
    }) 
    export class CardViewComponent { 
     @ContentChild(TemplateRef) itemTmpl; 

     ngAfterContentInit() { 
     console.log('In CCV', this.itemTmpl) 
     } 
    } 

आशा है कि यह किसी और कि एक समान समस्या का सामना कर रहा है में मदद करता है मेरी इस मुद्दे को हल करने में सक्षम था। या हो सकता है किसी को एक बेहतर समाधान

अद्यतन करने के लिए मुझसे बात कर सकते हैं: NG2 के नए संस्करण के लिए (आर सी इस लेखन के बिंदु पर), तुम इतनी तरह कुछ मामलों में forwardRef() उपयोग करने के लिए की आवश्यकता होगी:

@ContentChild(forwardRef(() => CardViewComponent)) cardViewComponent; @ContentChild(forwardRef(() => ListViewComponent)) listViewComponent;

+0

ऐसा लगता है कि यह अब काम नहीं करता है – pleerock

+0

यह अभी भी बीटा और आरसी दोनों में मेरे लिए काम करता है। आरसी में एकमात्र अंतर यह है कि आपको forwardRef() का उपयोग करने की आवश्यकता है। उत्तर अपडेट किया गया –

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