ion-nav
Navは、任意のコンポーネントをロードし、新しいコンポーネントをスタックにプッシュするためのスタンドアロンコンポーネントです。
Router Outletとは異なり、Navは特定のルーターに縛られていません。つまり、Navコンポーネントをロードし、他のコンポーネントをスタックにプッシュした場合、それらはアプリの全体的なルーターには影響しません。たとえば、新しいコンポーネントをion-navにプッシュして、URLが更新されることを期待しないでください。これは、アプリのURLに縛られることなく、独自のサブナビゲーションが必要なモーダルがある場合に適しています。
ion-navはルーティングに使用することを意図していません。代わりに、Angular、React、およびVueのルーティングガイド、またはバニラJavaScriptプロジェクトの場合はion-routerを参照してください。
NavLinkの使用
NavLinkは、Navと対話する際の簡素化されたAPIです。開発者は、コンポーネントをカスタマイズしたり、コンポーネントプロパティを渡したり、ルートアニメーションの方向を変更したり、ナビゲート時にカスタムアニメーションを定義したりできます。
モーダル内のナビゲーション
モーダルはNavを使用して、URLに依存しない線形ナビゲーションを提供できます。
以下の例では、Navへの参照と、ビューをプッシュおよびポップするための公開メソッドAPIを使用しています。このレベルのきめ細かいアクセスと制御を必要としない実装では、NavLinkを使用することをお勧めします。
インターフェース
NavCustomEvent
必須ではありませんが、このインターフェースは、このコンポーネントから放出されるIonicイベントのより強力な型付けのために、CustomEventインターフェースの代わりに使用できます。
interface NavCustomEvent extends CustomEvent {
target: HTMLIonNavElement;
}
プロパティ
animated
| 説明 | trueの場合、ナビゲーションはコンポーネントのトランジションをアニメーション化する必要があります。 |
| 属性 | animated |
| 型 | boolean |
| デフォルト | true |
animation
| 説明 | デフォルトでは、ion-navはモード(iosまたはマテリアルデザイン)に基づいてページ間のトランジションをアニメーション化します。ただし、このプロパティを使用すると、AnimationBuilder関数を使用してカスタムトランジションを作成できます。 |
| 属性 | 未定義 |
| 型 | ((baseEl: any, opts?: any) => Animation) | undefined |
| デフォルト | 未定義 |
root
| 説明 | ロードするルートNavComponent |
| 属性 | root |
| 型 | Function | HTMLElement | ViewController | null | string | undefined |
| デフォルト | 未定義 |
rootParams
| 説明 | ルートコンポーネントの任意のパラメーター |
| 属性 | 未定義 |
| 型 | undefined | { [key: string]: any; } |
| デフォルト | 未定義 |
swipeGesture
| 説明 | ナビゲーションコンポーネントでスワイプして戻ることができるようにする必要があるかどうか。 |
| 属性 | swipe-gesture |
| 型 | boolean | undefined |
| デフォルト | 未定義 |
イベント
| 名前 | 説明 | バブル |
|---|---|---|
ionNavDidChange | ナビゲーションがコンポーネントを変更したときに発生するイベント | false |
ionNavWillChange | ナビゲーションがコンポーネントを変更しようとするときに発生するイベント | false |
メソッド
canGoBack
| 説明 | 現在のビューが戻れる場合はtrueを返します。 |
| シグネチャ | canGoBack(view?: ViewController) => Promise<boolean> |
getActive
| 説明 | アクティブなビューを取得します。 |
| シグネチャ | getActive() => Promise<ViewController | undefined> |
getByIndex
| 説明 | 指定されたインデックスのビューを取得します。 |
| シグネチャ | getByIndex(index: number) => Promise<ViewController | undefined> |
getLength
| 説明 | スタック内のビューの数を返します。 |
| シグネチャ | getLength() => Promise<number> |
getPrevious
| 説明 | 前のビューを取得します。 |
| シグネチャ | getPrevious(view?: ViewController) => Promise<ViewController | undefined> |
insert
| 説明 | 指定されたインデックスのナビゲーションスタックにコンポーネントを挿入します。これは、ナビゲーションスタックの任意のポイントにコンポーネントを追加するのに役立ちます。 |
| シグネチャ | insert<T extends NavComponent>(insertIndex: number, component: T, componentProps?: ComponentProps<T> | null, opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean> |
insertPages
| 説明 | 指定されたインデックスのナビゲーションスタックにコンポーネントの配列を挿入します。配列内の最後のコンポーネントがビューとしてインスタンス化され、アクティブなビューになるようにアニメーション化されます。 |
| シグネチャ | insertPages(insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean> |
pop
| 説明 | ナビゲーションスタックからコンポーネントをポップします。現在のコンポーネントから戻ってナビゲートします。 |
| シグネチャ | pop(opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean> |
popTo
| 説明 | ナビゲーションスタック内の特定のインデックスまでポップします。 |
| シグネチャ | popTo(indexOrViewCtrl: number | ViewController, opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean> |
popToRoot
| 説明 | どれだけ戻る必要があるかに関わらず、スタックのルートまで戻ります。 |
| シグネチャ | popToRoot(opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean> |
push
| 説明 | 新しいコンポーネントを現在のナビゲーションスタックにプッシュします。追加情報をオブジェクトとして渡します。この追加情報はNavParamsを通してアクセスできます。 |
| シグネチャ | push<T extends NavComponent>(component: T, componentProps?: ComponentProps<T> | null, opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean> |
removeIndex
| 説明 | 指定されたインデックスにあるナビゲーションスタックからコンポーネントを削除します。 |
| シグネチャ | removeIndex(startIndex: number, removeCount?: number, opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean> |
setPages
| 説明 | 現在のナビゲーションスタックのビューを設定し、最後のビューに移動します。デフォルトではアニメーションは無効になっていますが、ナビゲーションコントローラーにオプションを渡すことで有効にできます。ナビゲーションパラメータは、配列内の個々のページにも渡すことができます。 |
| シグネチャ | setPages(views: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean> |
setRoot
| 説明 | 現在のナビゲーションスタックのルートをコンポーネントに設定します。 |
| シグネチャ | setRoot<T extends NavComponent>(component: T, componentProps?: ComponentProps<T> | null, opts?: NavOptions | null, done?: TransitionDoneFn) => Promise<boolean> |
CSS シャドウパーツ
このコンポーネントでは利用可能なCSSシャドウパーツはありません。
CSSカスタムプロパティ
このコンポーネントでは利用可能なCSSカスタムプロパティはありません。
スロット
このコンポーネントでは利用可能なスロットはありません。