Basic Navigation in Ionic Applications
Navigation in Ionic does not work using normal routing like you might have done in some of the client side web frameworks, especially when compared to browser based navigation. It uses the terminology of pages
which I find is more generalised and correctly named as compared Ionic version 1's states
. This approach is quite similar to navigation in a native mobile application.
Pages are pushed and popped from the navigation controller a class defined whose subclass available in Ionic is ion-nav
. The logic here is equivalent to that of a stack. The purpose of ion-nav
is to work with the navigation stack.
To define a nav bar in an ionic app:
<!--Home.html-->
<ion-navbar>
<ion-title> Ionic App </ion-title>
</ion-navbar>
Inside the typescript file associated to above HTML code, we will have access to Navigation Controller.
// home.ts
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public navCtrl: NavController) {}
}
Thus, we can access NavController
and it's properties such as push
and pop
to navigate to a different page or back to the previous page.
Note: Deeplinking is available in Ionic with URLs but that is altogether a different topic.