おそらく、ページのリロードによってjavascript変数を保持する方法はなく、$ rootScopeは単なるjavascript変数です。
あなたが探しているのは、ページがリロードされたときに残されていたアプリケーションを「同じポイントから開始」する方法です。 の状態という概念に慣れ親しむことをお勧めします。すべてのアプリケーションは、一連の状態とそれらの間の遷移として見ることができます。アプリケーション内で発生するすべてのユーザー操作やその他の操作は、アプリケーションの状態を変更したり、同じ状態に保ちます。たとえば、ユーザーのリストからユーザーリンクをクリックすると、状態を「ユーザーリストを表示」から「id = 213のユーザーのユーザーを表示」に変更し、「編集」ボタンをクリックすると、id = 213 "の状態が" id = 213のユーザーを編集 "に変更されます。変数が値を割り当てられ、ビューが変更され、リクエストが送信されるなど、これらの遷移が行われるときには、
「同じポイントから開始」問題に必要な2つのことは、状態マネージャとシリアル化およびストア状態。
core $ routerディレクティブ以外にも、状態マネージャとしてui-routerを使用できます。 ui-routerで状態をシリアライズして保存する方法は、これをURLで行います。コアのルータと比較してui-routerのメリットは、ネストされた状態を可能にし、一般に柔軟性があることです。
ui-routerは、あなたのurlのが$routeProvider
にマッピングされている場合は、あなたが$route.reload()
を起動するコントローラをリロードすることができ、また、そのgithubののwikiであなたの2番目の質問のためのソリューションhttps://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-open-a-dialogmodal-at-a-certain-state
私はあなたの2番目の質問を理解しません。 – John
私が言っていることは、リフレッシュによってアプリケーションが破壊されるため、すべてのモジュールがリセットされます。保存されているサービスと破棄されていないサービスはありますか?またはリフレッシュによってアプリケーションを破壊できないようにする方法があります。 – user2167582
私が考えることができる唯一の方法は、localStorageを使用するか、アプリケーションにアクセスして取得したサーバーにそのデータを保存することです。私が知っている限り、これを行う方法はありません。 – John