ionic 画面遷移とトグルメニュー
ionicについて勉強をはじめました。
画面遷移とトグルメニューについて自分なりに纏めました。
画面遷移の方法について
Terminalでカレントディレクトリをページを追加したいプロジェクトに移動します。
移動後、Terminalから以下のコマンドを実行します。
('next'は例です。)
$ ionic g page next
ルートモジュールに作成したモジュールをimportします。
import { NextModule } from '../pages/next/next.module';
(省略)
@NgModule({
  declarations: [
  imports: [
    (省略),
    NextModule
  ],
後は、呼び出し側を設定します。
まずは呼出側の画面に、画面遷移用のボタンを追加します。
import { NextPage } from '../next/next';
(省略)
<button ion-button (click)="onClick()">画面遷移</button>
ボタンから呼び出される画面遷移用のメソッドを追加します。
  onClick(){
    this.navCtrl.push(NextPage);
  }
これで、呼出側の画面からボタンを押下した際、画面遷移します。
トグルメニューの追加について
ionicのdocを見ると<ion-header>-<ion-navbar>の中に以下コードを追加しています。
<button ion-button menuToggle>
    <ion-icon name="menu"></ion-icon>
</button>
しかし、Sampleコードをコピペしてもトグルメニューが反映(表示)されませんでした。
そのため、ionicのdocで類似のやり方として記載してある<ion-toolbar>を使用して実装することにしました。
<ion-toolbar>
  <button ion-button menuToggle>
    <ion-icon name="menu"></ion-icon>
  </button>
  <ion-title>めいん</ion-title>
</ion-toolbar>
ちなみに'ionicons'についてはここを参照してください。
サイドバーの設定と画面遷移
ここでは、サイドバーのメニューの表示とクリックされた際の画面遷移について記載します。
まずは、サイドバーの設定をします。
<ion-menu [content]="c1">
  <ion-header>
    <ion-toolbar>
      <ion-title>さいどばーめにゅー</ion-title>
    </ion-toolbar>
  </ion-header>
  <ion-content>
    <ion-list>
      <button menuClose ion-item (click)="onClick('1')">1つめ</button>
      <button menuClose ion-item (click)="onClick('2')">2つめ</button>
    </ion-list>
  </ion-content>
</ion-menu>
<ion-nav #c1 [root]="rootPage"></ion-nav>
次に、クリックされたときの動作を指定します。
import { Component, ViewChild } from '@angular/core';
import { Platform, Nav } from 'ionic-angular';
(省略)
import { NextPage } from '../pages/next/next';
@Component({
  templateUrl: 'app.html'
})
export class MyApp {
  @ViewChild(Nav)nav:Nav;
(省略)
  onClick(strNumber:string){
    if(strNumber==='1'){
      // ページ遷移
      this.nav.setRoot(NextPage);
    }else{
      // 何もしない
    }
  }
}
上記の実装で、[1つめ]ボタンが押下された際に画面遷移します。
[2つめ]ボタンが押下された場合は何もしません。