1

ビューを変更して戻ってくるときに $scope を維持する方法はありますか?

特定のビューをロードすると、重いロード (データのロード) が発生しますが、ビューを切り替えてこのビューに戻ると、データが再度リロードされます。これを防ぐ方法はありますか?

ビュー間でデータを共有するつもりはありません。同じビューに戻ったときに古い状態にしたいだけです。

4

1 に答える 1

1

これを処理するにはいくつかの方法があります。

$rootScope $rootScope
に値を格納できるかもしれません。内部ルーティング モジュールを使用しても値が変わるとは思いませんが、これはお勧めしません。

サービス (私の当面の推奨事項)
常に、またはルートを変更している間、データを保存できる静的サービスを使用できます。その後、再度 $scope にデータをロードできます。

キャッシング
AngularJS には組み込みのキャッシュがあり、使用できます。これは、一部のみを保存する必要がある場合、または短時間だけ保存する必要がある場合に最適です。ここで CacheFactoryのドキュメントを読んでください。

WebSQL または localstorage
大量のデータの場合、セッション間で保存する場合、ほとんどのブラウザーで WebSQL データベースを使用するか、ブラウザーの localStorage にテキストとして保存できます。

于 2016-02-04T17:06:15.643 に答える