Ionic-js-navigation
イオン-Javascriptナビゲーション
ナビゲーションは、すべてのアプリのコアコンポーネントの1つです。 Ionicは、ナビゲーションの処理に AngularJS UI Router を使用しています。
ナビゲーションを使用する
ナビゲーションは app.js ファイルで設定できます。 Ionicテンプレートのいずれかを使用している場合、 $ stateProvider サービスがアプリ config に挿入されていることに気付くでしょう。 アプリの状態を作成する最も簡単な方法を次の例に示します。
app.jsコード
状態は ion-nav-view 要素に読み込まれ、 indexl 本体に配置できます。
indexlコード
上記の例で状態を作成したときは、 templateUrl を使用していたため、状態が読み込まれると、テンプレートファイルに一致するものが検索されます。 次に、 templates フォルダーを開き、アプリのURLが /state1 に変更されたときに読み込まれる state1l という新しいファイルを作成します。
- state1lコード*
ナビゲーションメニューの作成
「ion-nav-bar」*要素を追加することで、 *indexl 本体のアプリにナビゲーションバーを追加できます。 ナビゲーションバー内に、アイコン付きの ion-nav-back-button を追加します。 これは、前の状態に戻るために使用されます。 状態が変更されると、ボタンが自動的に表示されます。 この機能を処理するために $ ionicHistory サービスを使用する* goBack()関数を割り当てます。 したがって、ユーザーがホーム状態を離れて *state1 に移動すると、ユーザーがホーム状態に戻りたい場合、テープで貼り付けることができる戻るボタンが表示されます。
indexlコード
コントローラコード
ナビゲーション要素の追加
ボタンは、 ion-nav-buttons を使用してナビゲーションバーに追加できます。 この要素は、 ion-nav-bar または ion-view 内に配置する必要があります。 4つのオプション値を持つ side 属性を割り当てることができます。 primary および secondary の値は、使用されているプラットフォームに応じてボタンを配置します。 IOSでもAndroidでも、ボタンを片側に配置したい場合があります。 その場合は、代わりに left または right 属性を使用できます。
ナビゲーションバーに ion-nav-title を追加することもできます。 すべてのコードは indexl 本文に配置されるため、どこでも使用できます。
それは次の画面を生成します-
その他のナビゲーション属性
次の表は、イオンナビゲーションで使用できる他のいくつかの機能を示しています。
ナビゲーション属性
Attribute | Options | Detail |
---|---|---|
nav-transition | none, iOS, Android | Used to set animation that should be applied when transition occurs. |
nav-direction | forward, back, enter, exit, swap | Used to set the direction of the animation when transition occurs. |
hardwareBackButtonClose | Boolean | It will enable closing the modal when hardware back button is clicked. Default value is true. |
キャッシング
Ionicには、パフォーマンスを改善するために最大10個のビューをキャッシュする機能があります。 キャッシュを手動で処理する方法も提供します。 後方ビューのみがキャッシュされ、ユーザーがアクセスするたびに前方ビューがロードされるため、次のコードを使用して前方ビューをキャッシュするように簡単に設定できます。
キャッシュするステートの数も設定できます。 3つのビューをキャッシュする場合、次のコードを使用できます。
キャッシュは、 $ stateProvider 内で、または属性を ion-view に設定することで無効にできます。 両方の例を以下に示します。
ナビゲーションバーの制御
HTMLコード
コントローラコード
Method | Parameter | Type | Detail |
---|---|---|---|
align(parameter) | center, left, right | string | Used to align the title. |
showBackButton(parameter) | show | Boolean | Used to show or hide the back button. |
title(parameter) | title | string | Used to show the new title. |
追跡履歴
$ ionicHistoryのメソッド
Method | Parameter | Type | Detail |
---|---|---|---|
viewHistory | / | object | Returns the app view history data. |
currentView() | / | object | Returns the current view. |
title(parameter) | title | string | Returns the ID of the view which is parent of the current view. |
currentTitle(parameter) | val | string | Returns the title of the current view. It can be updated by setting new val value. |
backView() | / | string | Returns the last back view. |
backTitle() | / | string | Returns the title of last back view. |
forwardView() | / | object | Returns the last forward view. |
currentStateName() | / | string | Returns the current state name. |
goBack() | backCount | number | Used to set how many views to go back. Number should be negative. If it is positive or zero it will have no effect. |
clearHistory() | / | / | Used to clear entire view history. |
clearCache() | / | promise | Used to clear all cached views. |
nextViewOptions() | / | object | Sets the options of the next view. You can look the following example for more info. |
- nextViewOptions()*メソッドには、次の3つのオプションがあります。
- disableAnimate は、次のビュー変更のアニメーションを無効にするために使用されます。
- disableBack は、背面ビューをヌルに設定します。
- historyRoot は、次のビューをルートビューとして設定します。