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]> 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].
> 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.
>



-- 
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