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カスタムプロパティはありません。
スロット
このコンポーネントでは利用可能なスロットはありません。