ionic5 menu submenu functionality

<ion-app>
  <ion-split-pane contentId="main-content">
    <ion-menu contentId="main-content" type="overlay">
      <ion-header>
        <ion-toolbar>
          <ion-grid style="background-image: linear-gradient(45deg, #165997, #144e8d);
          color: #fff;">
            <ion-row>
              <ion-col size="3">
                <ion-avatar>
                    <img src="http://207.38.84.105/Nakhas/public/images/fromserver/sidelogo.png" alt="" class="imagehead" style="width:100%;">
         
                </ion-avatar>
                
              </ion-col>
              <ion-col>
                  <p style="font-size:18px;font-weight:bold;margin-top: 27px;" class="imagetext">NAKHAS</p>
                </ion-col>
            </ion-row>
          </ion-grid>
         
        
        </ion-toolbar>
      </ion-header>
      <ion-content>

<div *ngFor = "let p of appPages">
    <ion-menu-toggle auto-hide="false" *ngIf="p.url">
        <ion-item style="border: none;" routerDirection="root" [routerLink]="[p.url]" routerLinkActive="active">
            <ion-icon slot="start" [name]="p.icon" color="secondary"></ion-icon>
            <ion-label color="secondary">
              {{p.title}}
            </ion-label>  
          </ion-item>
    </ion-menu-toggle>
    <ion-item button *ngIf="p.children?.length > 0" (click)="p.open = !p.open" [class.active-parent]="p.open" detail="false">
      <ion-icon  slot="start" name="caret-forward-outline" color="secondary" *ngIf ="!p.open"></ion-icon>
      <ion-icon slot="start" name="caret-down-outline" color="secondary" *ngIf ="p.open"></ion-icon>
      <ion-label color="secondary">
            {{p.title}}
          </ion-label>  
    </ion-item>
    <ion-list *ngIf="p.open">
      <ion-menu-toggle auto-hide="false" >
        <ion-item style="margin-left: 50px;" *ngFor="let sub of p.children" routerDirection="root" [routerLink]="sub.url" routerLinkActive="active">
          <ion-icon slot="start" [name]="sub.icon" color="secondary"></ion-icon>
          <ion-label color="secondary">
            {{sub.title}}
          </ion-label>
        </ion-item>
      </ion-menu-toggle>
    </ion-list>
  </div>   
     
      </ion-content>
    
    </ion-menu>
    <ion-router-outlet id="main-content"></ion-router-outlet>
    
  </ion-split-pane>

</ion-app>

public appPages = [
    {
      title: 'Home',
      url: '/',
      icon: 'home'
    },
    // {
    //   title: 'About',
    //   url: '/aboutus',
    //   icon: 'home'
    // },
    {
      title: "About Us",
      icon: 'home',
      children: [
        {
          title: "Over View",
          url: '/over-view',
          image:'/assets/images/about/view.png',
          // icon: 'home'
        },
        {
          title: "Mission",
          url: '/mission',
          image:'/assets/images/about/mission.png',
          // icon: 'add-circle'
        },
        {
          title: "Vision",
          url: '/vision',
          image:'/assets/images/about/vission.png',
          // icon: 'logo-vimeo'
        },
      
        {
          title: "Approach",
          url: '/approach',
          image:'/assets/images/about/apporach.png',
          // icon: 'home'
        }
      ]
    },
    {
      title: 'Our Work',
      url: '/ourwork',
      icon: 'briefcase'
    },
    {
      title: 'Campaigns',
      url: '/services',
      icon: 'microphone'
    },
    {
      title:'Get Involved',
      url: '/services',
      icon: 'information-circle-outline'
    },
    {
      title:'Media Centre',
      url: '/gallery',
      icon: 'film'
    },
    
    {
      title: 'Events',
      url: '/events',
      icon: 'trophy'
    },
  
    {
      title: 'Gallery',
      url: '/gallery',
      icon: 'images'
    },
    {
      title: 'Contact Us',
      url: '/contactus',
      icon: 'contact'
    },
  ];

Comments

Popular posts from this blog

Your app currently targets API level 27 and must target at least API level 28 to ensure it is built on the latest APIs optimized for security and performance. Change your app's target API level to at least 28

ionic project creation

change root user in ubuntu