ion-router
The router is a component for handling routing inside vanilla and Stencil JavaScript projects.
note
アプリケーションはコードベースに単一の ion-router コンポーネントを持たなければなりません。
このコンポーネントは、ブラウザの履歴とのすべての対話を制御し、イベント・システムを介して更新を集約します。
ion-router は、ion-nav と ion-tabs 、 ion-router-outlet というIonicのナビゲーション機能のURL調整機能に過ぎません。
つまり、 ion-router はDOMにアクセスすることはなく、コンポーネントを表示することも、何らかのライフサイクルイベントを発行することもなく、ブラウザのURLに基づいて、ion-nav と ion-tabs 、 ion-router-outlet  に何をいつ「show」すべきかを指示するだけです。
コンポーネント(ロード/選択)とURLの間の関係を設定するために、ion-router はJSX/HTMLを使ってルートのツリーを定義する宣言的な構文を利用します。
基本的な使い方
Interfaces
RouterEventDetail
interface RouterEventDetail {
  from: string | null;
  redirectedFrom: string | null;
  to: string;
}
RouterCustomEvent
必須ではありませんが、このコンポーネントから発行される Ionic イベントでより強く型付けを行うために、CustomEvent インターフェースの代わりにこのインターフェースを使用することが可能です。
interface RouterCustomEvent extends CustomEvent {
  detail: RouterEventDetail;
  target: HTMLIonRouterElement;
}
使い方
<ion-router>
  <ion-route component="page-tabs">
    <ion-route url="/schedule" component="tab-schedule">
      <ion-route component="page-schedule"></ion-route>
      <ion-route url="/session/:sessionId" component="page-session"></ion-route>
    </ion-route>
    <ion-route url="/speakers" component="tab-speaker">
      <ion-route component="page-speaker-list"></ion-route>
      <ion-route url="/session/:sessionId" component="page-session"></ion-route>
      <ion-route url="/:speakerId" component="page-speaker-detail"></ion-route>
    </ion-route>
    <ion-route url="/map" component="page-map"></ion-route>
    <ion-route url="/about" component="page-about"></ion-route>
  </ion-route>
  <ion-route url="/tutorial" component="page-tutorial"></ion-route>
  <ion-route url="/login" component="page-login"></ion-route>
  <ion-route url="/account" component="page-account"></ion-route>
  <ion-route url="/signup" component="page-signup"></ion-route>
  <ion-route url="/support" component="page-support"></ion-route>
</ion-router>
プロパティ
root
| Description | URLのマッチング時に使用するルートパスです。デフォルトでは"/"に設定されていますが、すべてのURLパスに対して代替プレフィックスを指定することができます。 | 
| Attribute | root | 
| Type | string | 
| Default | '/' | 
useHash
| Description | ルーターは2つの "モード "で動作します。- ハッシュを使用します。ハッシュあり: /index.html#/path/to/page- ハッシュなし。ハッシュなし:/path/to/page- ハッシュあり:/index.html#/path/to/pageどちらを使うかは、アプリの要件や配置される場所によって異なるかもしれません。  通常、"ハッシュなし"ナビゲーションはSEOに有利で、よりユーザーフレンドリーですが、適切に動作させるためにサーバー側の追加設定が必要な場合があります。  一方、ハッシュ・ナビゲーションは、ファイル・プロトコルで動作するため、導入が非常に簡単です。  デフォルトでは、このプロパティはtrueです。ハッシュのない URL を許可するにはfalseに変更します。 | 
| Attribute | use-hash | 
| Type | boolean | 
| Default | true | 
イベント
| Name | Description | 
|---|---|
| ionRouteDidChange | ルートが変更されたときに発します。 | 
| ionRouteWillChange | ルートが変更されようとするときに発行されます。イベント | 
メソッド
back
| Description | window.historyで前ページに戻る。 | 
| Signature | back() => Promise<void> | 
push
| Description | 指定されたパスに移動します。 | 
| Signature | push(path: string, direction?: RouterDirection, animation?: AnimationBuilder) => Promise<boolean> | 
CSS Shadow Parts
No CSS shadow parts available for this component.
CSSカスタムプロパティ
No CSS custom properties available for this component.
Slots
No slots available for this component.