Thanks for the answer! It gives me hope!

I understand the final structure, I had in my mind something like this. 
 But I don't get how the component template would look like?

Can I add the element *<tab>* inside the template in a component with a 
selector name '*tab*'? How would that work?
Can you please give me an example of a component template with a selector 
name 'tab'? 

*Thanks for your patience! *


On Friday, July 1, 2016 at 9:38:28 PM UTC+2, Lucas Lacroix wrote:
>
> You can nest components. I have an application that does this an it works 
> fine.
>
> Your issue seems to be the expand/collapse functionality. The parent 
> element needs to control the expand/collapse state of the child element. 
> Something like:
> <tab>
>   <span>Tab 1</span>
>   <div class="tab-set" (ngStyle)="{display: expanded()}">
>     <tab>
>         <span>Tab 1.1</span>
>         <div class="tab-set" (ngStyle)="{display: expanded()}">
>             <tab><span>Tab 1.1.1</span></tab>
>         </div>
>     </tab>
>   </div>
> </tab>
>
> The tab component's "expanded()" function would return 'none' when 
> collapsed or 'block'/'inlne-block' when expanded.
>
> Make sense?
>
>
>
>
> On Fri, Jul 1, 2016 at 3:21 PM, Panos P <[email protected] <javascript:>
> > wrote:
>
>> Hi to all! I'm playing around with Angular 2 and I'm interested in a very 
>> specific feature. 
>> Let's say we have a component <tab></tab> can we use it in a way that 
>> nests the same component inside? I need to create a custom UI with 
>> *unlimited* nested levels, like this:
>>
>> tab level 0
>> - tab level 1
>> -- tab level 2
>> -- tab level 2
>> --- tab level 3
>> --- tab level 3
>> - tab level 1
>> -- tab level 2
>> -- tab level 2
>>
>> When you click in level 1, all children in level 2 appear (with unlimited 
>> levels of possible children).  Is this possible in Angular 2? I think the 
>> general idea would represent something like this:
>>
>> <tab>
>>   <tab>  content level 1   </tab>
>>   <tab>  content level 1   <tab> content level 2   </tab>   </tab>
>>   <tab>  content level 1   <tab> content level 2   <tab> content level 3 
>> </tab>   </tab> </tab>
>> </tab>
>>
>> The following template is a mess but is there a way around?
>>
>> selector = '*tab*'
>> template = '<div class='tab>
>>                         <div> {{ text_current_level }} </div>
>>                         <div class='children'>
>> *                                <tab  *ngFor = 'let tab for tabs' > *
>> *                                        <div>{{tab.text}} </div>*
>> *                                </tab>*
>>                         </div>
>>                         <div>'
>>
>> I'm curious because with html elements like <div> we naturally do 
>> internal nesting all the time, and with infinite levels of nesting. Can we 
>> do the same nesting with custom components? Can we nest a <tab> component 
>> inside another <tab>?
>>
>> Thanks in advance!
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "AngularJS" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/angular.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Lucas Lacroix
> Computer Scientist
> System Technology Division, MEDITECH <http://ehr.meditech.com>
> 781-774-2293
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to