1

私はバックボーンについて学んでおり、例とチュートリアルから次のような印象を受けました。

  • 初期GET /値は、バックボーンとビュー テンプレートを含むスケルトン ページを返します。
  • Backbone は を使用して、必要なデータを作成し、それを DOM に追加することでREST API、ページを肉付けします。GET

これは機能しますが、追加の HTTP リクエストと、エンド ユーザーの観点からは待ち時間の点で無駄に思えます (ページが表示されるまでに最低 2 回の往復が必要です。利用可能なウィジェットの詳細を取得します....)。

これを回避するための確立された標準的な方法はありますか? 私の現在の候補は次のとおりです。

  1. 問題を無視します。
  2. インライン JavaScript を使用して、初期化データを元のページに直接埋め込みます。
  3. バックボーンが存在しないかのようにページをレンダリングします。バックボーンの初期化が完了すると、(うまくいけば) ユーザーに表示されるページと同期されます。その間の数秒で状況が変化した場合は、必要なすべてを修正できますが、少なくともユーザーがハングしたままになることはありません。
  4. 私が考えていなかった別の解決策はありますか?

これを行う確立された方法はありますか?状況に応じたものですか?Node / JS / Expressを使用しています。

4

1 に答える 1

2

更新:Backboneのドキュメントで、解決策、おそらく「受け入れられた」解決策を見つけたと思います。

Railsアプリケーションで、リセットを使用して最初のページの読み込み中にコレクションをブートストラップする例を次に示します。

<script>
  var Accounts = new Backbone.Collection;
  Accounts.reset(<%= @accounts.to_json %>);
</script>

collection.reset()モデルを引数として渡さずに呼び出すと、コレクション全体が空になります。

于 2012-07-24T17:31:11.737 に答える