0

私はあなたがメインメニューを持っている非常に細い垂直バーを左端に持っているウェブサイトを作っています。これはあなたがウェブサイト上に持っている唯一のコンテンツです。次に、メニュー項目をクリックすると、メインメニューバーの右側に別のバーがポップアップ表示されます。これはサブメニューです。次に、サブメニューをクリックすると、最後のメニューが表示されます。このメニューの項目をクリックすると、最後のメニューの右側にページの内容を含む大きなボックスが表示されます。このボックスには、多くの場合、画像ギャラリーまたはビデオのリストが含まれています(YouTubeを検索する場合など)。

ただし、これを非常に応答性の高いものにしたいので、メニューをlocalStorageにキャッシュする必要があります。そのため、一種のMVCパターンを使用したいと思います。そして、Spine.jsを試して、メニューをモデルMenuModelにロードしました。今、一度に利用できる1000個のメニューオブジェクトすべてをロードしたくないので、必要なものだけをプリロードする方法が必要です。

私が見ているように、Spine.jsは適切ではありません。私は何か間違ったことをしているのですか、それともSpine.jsはここのようにメニューなどをロードするために作られていませんか?つまり、クライアント側にレコードが追加されることはなく、変更も削除もされません。サーバーからのみフェッチされ、モデルに保存されます。Spine.jsは、レコードを積極的に変更してサーバーと同期するアプリの方が、必要なものよりも優れていますか?

自分のクラスを書くだけの方がいいですか?

4

1 に答える 1

1

Spine.jsについてはよくわかりませんが、モデルを作成することでBackboneのようなことができますMenu

各メニューには、親メニューへの参照があります(一番上にあるメニューは別として)。

メニュー項目を取得するときはいつでも、それらをローカルストレージに保存します。

ユーザーがメニュー項目をクリックするたびに、最初にそれがローカルストレージに保存されているかどうかを確認します。はいの場合はローカルストレージから表示し、そうでない場合はサーバーから取得します。

ローカルストレージをいつ更新するかを見つけるための戦略を考える必要があると言っています。

于 2013-02-05T12:30:53.257 に答える