Currently, I am working with Ionic 4 and Angular 7.
In the past, I had experience with Ionic3, and it seems that there have been some changes as well.
I am facing an issue while trying to implement a page using a custom selector tag
<app-side-menu></app-side-menu>
in the file app.component.html
The error I encounter is:
Uncaught Error: Template parse errors: 'app-side-menu' is not a known element: 1. If 'app-side-menu' is an Angular component, then verify that it is part of this module.
I have experimented with other pages where it works fine, leading me to believe that the problem lies only within the app.component.ts
Here is the snippet from app.component.html
<ion-app>
<ion-split-pane>
<ion-menu>
<ion-header>
<ion-toolbar>
<ion-title>
Menu
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<app-side-menu></app-side-menu>
</ion-content>
</ion-menu>
<ion-router-outlet main></ion-router-outlet>
</ion-split-pane>
</ion-app>
And here's the content of app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { SideMenuPageModule } from './side-menu/side-menu.module';
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
providers: [
StatusBar,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
exports : [
SideMenuPageModule
],
bootstrap: [AppComponent]
})
export class AppModule {}
Lastly, the details from side-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 { SideMenuPage } from './side-menu.page';
const routes: Routes = [
{
path: '',
component: SideMenuPage
}
];
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
RouterModule.forChild(routes)
],
declarations: [SideMenuPage]
})
export class SideMenuPageModule {}