angular 1.5 状態 (ネストされた状態、タブ状態、モーダル統計) をうまく使用しています
Ui-router-extras にはスティッキー状態がありますが、従来の親子状態アーキテクチャとの違いがわかりません。
スティッキー状態の基本的な例は、スティッキーがなくてもできることです。 http://plnkr.co/edit/SCHExh4DYKFd9Kq3UbaA?p=preview
を削除するsticky: trueと、同じ動作が得られます
angular 1.5 状態 (ネストされた状態、タブ状態、モーダル統計) をうまく使用しています
Ui-router-extras にはスティッキー状態がありますが、従来の親子状態アーキテクチャとの違いがわかりません。
スティッキー状態の基本的な例は、スティッキーがなくてもできることです。 http://plnkr.co/edit/SCHExh4DYKFd9Kq3UbaA?p=preview
を削除するsticky: trueと、同じ動作が得られます
いいえ、そうではありません。実際に行うことui-routerは、アプリをステート マシンに変換することです。また、ステート マシンの厳密な定義は、任意の時点で 1 つのステートしかアクティブにできないというものです。
これが意味することは、 から に遷移するたびstateAにstateB、stateAのスコープ (およびコントローラーなどの他のアセット) が破棄され、stateBインスタンス化されるということです。文字通り、stateAとstateBのコントローラーとスコープを同時にアクティブにすることはできません。結論として、厳密なステート マシンでは、パラレル (別名スティッキー) ステートは許可されません。
ui-router-extrasこれをしましょう。一度に複数の状態をアクティブにすることができます。
シナリオの例を見てみましょう。
stateAます。stateA、100 秒から 0 秒までのカウントダウンを開始しました。stateBデータを取得するために に移動します。で 10 秒間過ごしstateBます。stateAさて、通常のui-router. に戻るステップ 4 にいるときstateA、カウントダウンは 100 秒から再開されます。粘着状態と同様に、カウントダウンは 57-10 = 47 秒から始まります。
ui-router通常の の場合、 にトランジットするstateBと、stateAのスコープが破棄されるため、これは重要です。に戻るとstateAすべてが再インスタンス化されるため、カウントダウンは再び 100 から始まります。スティッキー状態を使用している場合、スコープは保持されます。
これは、あなたのものからフォークされたplkr デモです。をコメントアウトしてsticky:true、タブ 1 とタブ 2 を行き来すると、違いがわかります。