Ваш массив должен иметь несколько уровней массива, т.е. массив с массивом в (зависит от того, сколько подуровней меню вы хотите), а затем отображать содержимое массива с помощью списка вложенности (list with in list)
например:
ваш массив будет как:
public appPages = [
{
list_header: 'Client List',
icon: 'home',
subList: [{
subList_title: [
{
title: 'a'
},
{
title: 'b'
}
]
}]
}]
и ваш список в вашем HTML, как:
<ion-list>
<ion-menu-toggle auto-hide="false" *ngFor="let p of appPages" text-wrap>
<ion-item [routerDirection]="'root'" [routerLink]="[p.url]">
<ion-icon slot="start" [name]="p.icon"></ion-icon>
<ion-label>
{{p.list_header}}
</ion-label>
<ion-list>
<ion-item *ngFor="let sub of p.subList" text-wrap>
<ion-list>
<ion-item lines="none" *ngFor="let t of sub.subList_title" text-wrap>
{{t.title}}
</ion-item>
</ion-list>
</ion-item>
</ion-list>
</ion-item>
</ion-menu-toggle>
</ion-list>