Hello to all, welcome to therichpost.com. In this post, I will tell you, Angular 8 custom nested menu working example.

I have done with custom code and I am showing limited menus and if you want more then you can add according to your requirement.
For styling, I used bootstrap and font awesome cdns.
Here I am sharing the code and you need to add carefully:
1. This below code, you need to add into your app.component.ts file:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<aside class="left-sidebar">
<div class="scroll-sidebar">
<nav class="sidebar-nav">
<ul id="sidebarnav">
<li [ngClass]="{'active': menus[2]}">
<a (click)="navmenuclick(2)" class="has-arrow" [attr.aria-expanded]="true ? menus[2]:true"><i class="fa fa-users m-r-5" aria-hidden="true"></i><span class="hide-menu">Customers</span></a>
<ul *ngIf=menus[2] class="collapse in">
<li><a [ngClass]="{'active': submenu['2.0']}" ><i class="fa fa-caret-right m-r-5"></i>Manage Customers</a></li>
<li><a [ngClass]="{'active': submenu['2.1']}" ><i class="fa fa-caret-right m-r-5"></i>Add Customer</a></li>
</ul>
</li>
<li [ngClass]="{'active': menus[3]}">
<a (click)="navmenuclick(3)" class="has-arrow" [attr.aria-expanded]="true ? menus[3]:true"><i class="fa fa-user-plus m-r-5" aria-hidden="true"></i><span class="hide-menu">Staff</span></a>
<ul *ngIf=menus[3] class="collapse in">
<li><a [ngClass]="{'active': submenu['3.0']}" ><i class="fa fa-caret-right m-r-5"></i>Manage Staff</a></li>
<li><a [ngClass]="{'active': submenu['3.1']}" ><i class="fa fa-caret-right m-r-5"></i>Add Staff</a></li>
</ul>
</li>
<li [ngClass]="{'active': menus[4]}">
<a (click)="navmenuclick(4)" class="has-arrow" [attr.aria-expanded]="true ? menus[4]:true"><i class="fa fa-files-o m-r-5" aria-hidden="true"></i><span class="hide-menu">Pages</span></a>
<ul *ngIf=menus[4] class="collapse in" aria-expanded="false">
<li><a [ngClass]="{'active': submenu['4.0']}" ><i class="fa fa-caret-right m-r-5"></i>All Pages</a></li>
<li><a [ngClass]="{'active': submenu['4.1']}" ><i class="fa fa-caret-right m-r-5"></i>Add New Page</a></li>
</ul>
</li>
</ul>
</nav>
</div>
</aside>
2. Now you need to add below code into your app.component.ts file:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'childmenu';
public menus = new Array();
public submenu = new Array();
navmenuclick(value){
for(let i= 0; i<5; i++){
if(i != value){
this.menus[i] = false;
/*Submenu Code Start*/
this.submenu[i+'.'+0] = false;
this.submenu[i+'.'+1] = false;
/*Submenu Code Close*/
}
}
if(this.menus[value] == true){
this.menus[value] = false;
}else{
this.menus[value] = true;
}
}
}
This is it and if you have any query then please comment below.
jassa
Thank you

In the submenu list, the class=”collapse in” translates in the bootstrap styles to display: none; because collapse and in are separated, when I remove this class it worked as expected. Is my setup wrong? Do I include another version of bootstrap?. Anyways, thank you, it help me.
Yes you can add latest version.
Hi
I want to add nested submenus under .How can I customize it. Please help me.
thanks in advance.
Can you please send me any demo?