0

今後のプロジェクトでAngularJSを使用することを検討していますが、特に1ページしかないアプリの場合、ビュー/ルーティングについて頭を悩ませています。

ページはフォームまたはウィザードで構成されていますが、最初のページの読み込み時にすべてのデータを読み込む (そしてローカル ストレージに保存する) 必要があります。これはフォーム要素にも適用されます。たとえば、HTML テンプレートの場合など、サーバーに対して追加のリクエストを行うことはできません (フォームの最後の送信アクションを除く)。アプリケーションはオフラインで使用されるため、1 つのページで必要なすべての情報をキャッシュし、リロードせずに UI 遷移を処理する必要があります。

AngularJS はそのようなアプリケーションに適していますか? その場合、追加のリクエストなしでビューを変更するために必要なルーティングをどのように達成できますか? ng-view と routeProvider は単一の HTML ページ内で div を使用できますか これは ui-routes の場合ですか?

4

1 に答える 1

1

私はまだそのようなサイトを実装していませんが、これらはわずかに直交する問題だと思います。AngularJS は、ビューをビジネス ロジック (MVC) で汚染する問題を解決し、シングルトン サービスを作成する手段も提供します。さらに、HTML の語彙をディレクティブで拡張して、複合 DOM 要素または動作を定義できます。これらの要素はすべて、サービスで取得および保存されたデータを表示するためのモデルとコントローラーを介して疎結合されたユーザー インターフェイスを作成するのに役立つと考えています。

HTML5 仕様の定義に応じて特定のブラウザーに実装されたローカル ストレージ API を使用すると、データをローカルに保持し、オンラインからオフラインへの変更がいつ発生したかを判断できます。このページhttp://www.html5rocks で詳しく説明されています。 com/en/tutorials/offline/whats-offline/

一言で言えば、AngularJS は、リッチなクライアント サイド エクスペリエンスを構築し、モデルをビューとコントローラーから分離するための理想的な候補であると思います (したがって、アプリケーション自体とは別に保存する必要がある部分を提供します)。これを簡単にするために Angular に組み込まれているメカニズムを私は認識していませんが、localStorage と AngularJS について少し Google で検索すると、それと使用可能なコードに関するいくつかの議論が間違いなくあります: angularjs と localStorage の変更イベント

于 2013-06-30T22:54:22.057 に答える