I created a cascading menu in Angular and it works but I want to be dynamic. See this link for a better understanding of what I mean. I want to make something like a table in Angular Material.
fullMenu = [{
  name: "Home",
  childs: [{
    name: "HomeLevel-1",
    childs: [{
      name: "Home-level-2"
    }]
  }]
}, {
  name: "about"
},{
  name: "register",
  childs: [{
    name: "registerLevel-1",
    childs: [{
      name: "registerLevel-2"
    }]
  }]
}];
<ul>
  <ng-template #recursiveList let-fullMenu let-level="level">
    <li *ngFor="let item of fullMenu; let i = index">
      <button class="btn btn-primary" type="button" data-toggle="collapse" [attr.data-target]="'#foo' + i + level" aria-expanded="false" aria-controls="collapseExample">
        {{item.name}}
      </button> {{i}}
      <ul *ngIf="item.childs && item.childs.length > 0">
        <div class="collapse" [attr.id]="'foo' + i +level">
          <div class="card card-body">
            <ng-container *ngTemplateOutlet="recursiveList; context:{ $implicit: item.childs, level: level + i + fullMenu.length }"></ng-container>
          </div>
        </div>
      </ul>
    </li>
  </ng-template>
  <ng-container *ngTemplateOutlet="recursiveList; context:{ $implicit: fullMenu, level: 0 }"></ng-container>
</ul>
0"> ......
– Dec 31 '19 at 10:40