Let’s Work Together


Ionic Mobile App Development: How to Navigate in Ionic Modals with ion-nav


Ionic Mobile App Development: How to Navigate in Ionic Modals with ion-nav

What is a Modal Window? 

It is designed to display important sections of information to the viewers without changing the active routing state. When you hire Ionic App developers they will make a different path to handle your navigation inside an overlay that is existing outside the application. The ion-nav helps in adding navigation in all the directions like forward, root, and backward. 

In this blog, we will discuss how to build an application with navigation inside modal.

Step 1:

Create a new module then add a component inside that module and then another page to start with a blank Ionic app. It does not require any external libraries for the functionality that we are going to include in the ionic core. 

Step 2:

Focus on building the base for modal to render the ion-nav component. Go to :


then, replace everything with :

<ion-nav [root]=”rootPage”></ion-nav>

This makes the component a standalone component for navigation. We can directly set the root of navigation by calling this component. Declare a variable inside:


 like this:

import {Component, OnInt} from ‘@angular/core’;

@Component ({

selector:  ‘app-modal-base’,

templateUrl: ‘./modal-base.component.html’,

styleUrls: [‘./modal-base.component.scss’],


Export class <ModalBaseComponent implements OnInt {

rootPage: any;

constructor() {}

ngOnInit() {}

You will need help of an ionic app development company to use this in your Ionic applications to declare and export the previously generated components. 

Step 3:

To actually call the modal you need to import the changed module to:


You need to import the ModalContentPageModule because it holds the real content and enables to use the page directly while opening the modal. The base component is now the only container of navigation. Hire iPhone App Developers to change your home/home.page.ts that will show you a dummy name for the content page once you open the modal. You might face issues sometimes as it does not immediately take the generated files, so just restart the serve command. 

Step 4:

Ionic mobile app development process at this stage can inject ion-nave using code or directly through the view. The component comes with different methods to navigate on another page, you can go to root page or use other methods to manipulate the view stack. For performing custom navigation using code or directly from view you need to define certain things on the component: 

  • component: The component that you want to set as root or push
  • componentProps: The props when opening a modal is simply used to increase the level variable for the next page.
  • routerDirection: This is used for one of the feature forward, backward, or root

Once you have specified and combined these things on the ion-nav-link, you can achieve any type of navigation change.

It is better if you seek advice from ionic app development services to get a full navigation concept inside a modal. This can ensure that you can go forward as many times you want, pop a page backward suing different methods, and easily navigate to the root page of modal.

Once you are inside a modal or overlay there is no routing because these components live outside the pages and URL routing of Angular router. The ionic app development company can help in providing the perfect substitution to build own navigation using ion-nav and ion-nav-link. 


Ionic uses the AngularUI router module to have an organized app interface and record various states. As someone navigates through your application, Ionic should keep a track of their history, transitions, and exiting platform style. So, the Ionic navigation system gives the opportunity to handle multiple histories and have a navigation stack of its own.   

Ionic is chosen as the best platform in terms of development experience, performance, and Progressive Web Apps support. We have tried to share some basic things required to master the Ionic navigation system.

The Angular router provides you two important strategies:

  • NoPreloading: This one is a default behavior where no modules are preloaded
  • PreloadAllModules: You can use the loadChildren property to configure the modules and they will be preloaded in your application.

Everything comes down to the perceived performance of your application. That is generally defined by measuring the quickness of your site or app.  You can fill the screen with staggered interactions instead of displaying the traditional loading spinner. The loading screen can have a mixture of content, image placeholders, animations, or contextual metadata to engage viewers.

We know this wasn’t an easy task for the beginners and people new to the development process of Ionic Mobile apps. Instead of learning things from a scratch, you can Hire Ionic App Developers to complete your task. This way can be less time consuming and give you the best results. You just need to find the best ionic app development services in the market that have knowledge and experience in the development process. Reach Us! As we have the best team to build, grow, and handle everything.