import {App, NavParams, NavController, ViewController, MenuController} from '../../../../../ionic'; import {Page, Config, IonicApp} from '../../../../../ionic'; @Page({ template: ` Login ` }) export class Login { constructor(private nav: NavController) {} goToAccount() { this.nav.push(Account); } } @Page({ template: ` Account Menu ` }) export class Account { rootPage; constructor(private app: IonicApp, private menu: MenuController) { this.rootPage = Dashboard; } goToProfile() { this.app.getComponent('account-nav').setRoot(Profile).then(() => { this.menu.close(); }); } goToDashboard() { this.app.getComponent('account-nav').setRoot(Dashboard).then(() => { this.menu.close(); }); } logOut() { this.app.getComponent('root-nav').setRoot(Login, null, { animate: true }); } } @Page({ template: ` Account Dashboard

` }) export class Dashboard { constructor(private app: IonicApp, private nav: NavController) {} goToProfile() { this.nav.push(Profile); } logOut() { this.app.getComponent('root-nav').setRoot(Login, null, { animate: true, direction: 'back' }); } } @Page({ template: ` Account Profile

` }) export class Profile { constructor(private app: IonicApp, private nav: NavController) {} goToDashboard() { this.nav.push(Dashboard); } logOut() { this.app.getComponent('root-nav').setRoot(Login, null, { animate: true, direction: 'back' }); } } @App({ template: `` }) class E2EApp { rootPage; constructor() { this.rootPage = Login; } }