I have been learning about Ionic by implementing a side-menu in my demo application from scratch. I have pretty much followed all the steps, but fail to render the side-menu as the toggle menu buttons seem to be missing. Below is the required code required for analysis if required.
Source Code for Menu Items :
menu.module.ts :
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular';
import { MenuPage } from './menu.page';
const routes: Routes = [
{
path: 'menu',
component: MenuPage,
children: [
{
path: 'first',
loadChildren: '../first/first.module#FirstPageModule'
},
{
path: 'second',
loadChildren: '../second/second.module#SecondPageModule'
}
]
},
{
path: '',
redirectTo: '/menu/first'
}
];
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
RouterModule.forChild(routes)
],
declarations: [MenuPage]
})
export class MenuPageModule { }
Source code for menu.page.ts :
import { Component, OnInit } from '@angular/core';
import { Router, RouterEvent } from '@angular/router';
@Component({
selector: 'app-menu',
templateUrl: './menu.page.html',
styleUrls: ['./menu.page.scss'],
})
export class MenuPage implements OnInit {
pages :[
{
title:'First',
url:'/menu/first'
},
{
title:'Second',
url:'/menu/second'
}
];
selectedPath = '';
constructor(private router : Router ) {
this.router.events.subscribe((event : RouterEvent) => {
this.selectedPath = event.url;
})
}
ngOnInit() {
}
}
Source Code for app-routing.module.ts :
import { NgModule } from '@angular/core';
import {RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{ path: '',
loadChildren: './pages/menu/menu.module#MenuPageModule'
}
];
@NgModule({
imports: [
RouterModule.forRoot(routes)
],
exports: [RouterModule]
})
export class AppRoutingModule { }
Source code for menu.page.html :
<ion-split-pane>
<ion-menu contentId="content">
<ion-header>
<ion-toolbar>
<ion-title>Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-menu-toggle autoHide="false" *ngFor="let p of pages">
<ion-item [routerLink]="p.url" routerDirection="root" [class.active-item]="selectedPath === p.url">
<ion-label>
{{ p.title }}
</ion-label>
</ion-item>
</ion-menu-toggle>
</ion-list>
</ion-content>
</ion-menu>
<ion-router-outlet id="content" main></ion-router-outlet>
</ion-split-pane>
I get the output as a blank menu when ionic serve is used. Please help me with this blocker as soon as possible. Let me know in case any additional code or info is needed