1

私はAngularの初心者で、マップ、リスト、検索などのいくつかのビューを持つPhonegapアプリケーションに取り組んでいます。

ユーザーが操作すると、各ビューにいくつかの UI 状態が蓄積されます。マップがドラッグされ、リストがスクロール位置を取得し、リスト アイテムの詳細ビューが開かれ、検索が実行されます。この状態を失うことなくビュー間を移動できます。

ビューを ng-view のパーシャルに配置し、ナビゲーション リンクhref="#/path"で 、または ng-click を使用するlocation.path(path)と、コントローラーが実行され、状態が消去されます。理にかなっています。

1 つのオプションは、ユーザーのナビゲーション アクションに基づいて index.html および ng-show にすべてのパーシャルを ng-include することです。しかし、このような DOM の複雑さが Phonegap のパフォーマンスの低下につながることがわかりました。また、ルーティングを避けることで、Angular を使用する主な利点の 1 つを失っているとも感じています。

もう 1 つの考え: ナビゲーションのクリックは、ブラウザーの履歴のトラバーサルを引き起こします。ただし、すべてのビューの状態を並行して維持するのは難しいようです。

私の質問:これに適したパターンはありますか?

FWIW は現在 Phonegap 3.0 と Angular 1.1.5 を使用しています。御時間ありがとうございます。

4

2 に答える 2

1

サービスでのコントローラーのリロード間で保持する必要があるすべてのデータを保持できます

ここで簡単な例

Angular UI-Router で状態を保存する

ユーザーがページを離れてから戻るボタンを押した場合の状態の復元を含む、より複雑な例

AngularJS でビューを変更するときにスコープのモデルを維持する

于 2013-09-04T08:11:31.353 に答える