Я новичок в разработке гибридных приложений. Сначала я хочу знать, возможно ли иметь навигацию между страницами, используя боковое меню в Ionic 2. Я смог реализовать навигацию между страницами, как показано в this tutorial, и меню, как показано в ionicdocs site. Но когда я нажимаю на элемент меню, меню устанавливает страницу как «rootPage», поэтому я перенаправляется на эту страницу, но если я хочу вернуться на домашнюю страницу, я должен сделать это через меню, я бы просто нажмите кнопку «Назад».Ionic 2 - Боковое меню с навигацией между страницами (кнопка назад)
Заранее спасибо, это мой app.ts файл:
import {App, IonicApp, Platform, MenuController} from 'ionic-angular';
import {StatusBar} from 'ionic-native';
import {HomePage} from './pages/home/home';
import {CategoriesPage} from './pages/categories/categories';
@App({
template: `
<ion-menu [content]="content">
<ion-toolbar>
<ion-title>Menu</ion-title>
</ion-toolbar>
<ion-content>
<ion-list>
<button ion-item (click)="openPage(categoriesPage)">
Categorías
</button>
<button ion-item>
Mis Compras
</button>
<button ion-item>
Lista de Deseos
</button>
<button ion-item>
Cerrar Sesión
</button>
</ion-list>
</ion-content>
</ion-menu>
<ion-nav id="nav" #content [root]="rootPage"></ion-nav>`,
config: {} // http://ionicframework.com/docs/v2/api/config/Config/
})
export class MyApp {
public rootPage;
public app;
public menu;
public categoriesPage;
constructor(app: IonicApp, platform: Platform, menu: MenuController) {
this.app = app;
this.menu = menu;
this.categoriesPage = CategoriesPage;
platform.ready().then(() => {
StatusBar.styleDefault();
});
this.rootPage = HomePage;
}
openPage(page){
this.rootPage = page;
this.menu.close();
}
}
EDIT: Модифицированные app.ts использовать NavController, но теперь это даже не загружая страниса
import {App, IonicApp, Platform, NavController, MenuController} from 'ionic-angular';
import {StatusBar} from 'ionic-native';
import {HomePage} from './pages/home/home';
import {CategoriesPage} from './pages/categories/categories';
@App({
template: `
<ion-menu [content]="content">
<ion-toolbar>
<ion-title>Menu</ion-title>
</ion-toolbar>
<ion-content>
<ion-list>
<button ion-item (click)="openPage(categoriesPage)">
Categorías
</button>
<button ion-item>
Mis Compras
</button>
<button ion-item>
Lista de Deseos
</button>
<button ion-item>
Cerrar Sesión
</button>
</ion-list>
</ion-content>
</ion-menu>
<ion-nav id="nav" #content [root]="rootPage"></ion-nav>`,
config: {} // http://ionicframework.com/docs/v2/api/config/Config/
})
export class MyApp {
public rootPage;
public app;
public nav;
public categoriesPage;
constructor(app: IonicApp, platform: Platform, nav: NavController) {
this.app = app;
this.nav = nav;
this.categoriesPage = CategoriesPage;
platform.ready().then(() => {
StatusBar.styleDefault();
});
this.rootPage = HomePage;
}
openPage(page){
this.nav.push(page, {"test": ""});
}
}
categories.html:
<ion-navbar *navbar>
<ion-title>
Categories
</ion-title>
</ion-navbar>
<ion-content class="categories">
<ion-list inset>
<ion-item>
<ion-label>Categories</ion-label>
</ion-item>
</ion-list>
</ion-content>
Я обновил файл app.ts для использования NavController, но он все еще не работает; теперь он даже не отображает домашнюю страницу. Вы можете увидеть мое редактирование, спасибо! Возможно, мне также нужно использовать ion-navbar в шаблоне? – myrmix