import {App, NavController} from 'ionic/ionic'; import {Page, Config, IonicApp} from 'ionic/ionic'; import {NavParams, NavController} from 'ionic/ionic'; @Page({ template: ` {{title}}

{{title}}

` }) class FirstPage { constructor( nav: NavController, app: IonicApp, config: Config ) { this.nav = nav; this.title = 'First Page'; this.pushPage = FullPage; } setViews() { let items = [ PrimaryHeaderPage ]; this.nav.setViews(items); } pushPrimaryHeaderPage() { this.nav.push(PrimaryHeaderPage); } pushFullPage() { this.nav.push(FullPage, { id: 8675309, myData: [1,2,3,4] } ); } pushAnother() { this.nav.push(AnotherPage); } } @Page({ template: `

Full page

This page does not have a nav bar!

` }) class FullPage { constructor( nav: NavController, params: NavParams ) { this.nav = nav; this.params = params; } setViews() { let items = [ FirstPage, PrimaryHeaderPage ]; this.nav.setViews(items); } pushPrimaryHeaderPage() { this.nav.push(PrimaryHeaderPage); } pushAnother() { this.nav.push(AnotherPage); } pushFirstPage() { this.nav.push(FirstPage); } } @Page({ template: ` Primary Color Page Header

` }) class PrimaryHeaderPage { constructor( nav: NavController ) { this.nav = nav } pushAnother() { this.nav.push(AnotherPage); } pushFullPage() { this.nav.push(FullPage, { id: 8675309, myData: [1,2,3,4] } ); } insert() { this.nav.insert(FirstPage, 2); } removeSecond() { this.nav.remove(1); } } @Page({ template: ` Another Page Header

` }) class AnotherPage { constructor( nav: NavController ) { this.nav = nav } pushFullPage() { this.nav.push(FullPage); } pushPrimaryHeaderPage() { this.nav.push(PrimaryHeaderPage); } pushFirstPage() { this.nav.push(FirstPage); } } @App({ template: `` }) class E2EApp { constructor() { this.root = FirstPage; } }