1

ドキュメントで説明されているように、バックボーンを使用してアプリをブートストラップする通常の方法は次のとおりです。

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

ここでは、サーバー側のタグ<%= ... %><?php echo ... ?>などを使用しています。

しかし、私のアプリでは、サーバーから非常に薄い HTML を渡しています。このようなもの

<html><head></head><body></body>
<script src="init.js"></script>
<html>

この場合、バックボーン モデルとコレクションのデータをどのようにブートストラップすればよいでしょうか?

バックボーンは使用しないことを推奨していますfetch

ページの読み込み時にコレクションを生成するために fetch を使用しないでください。読み込み時に必要なすべてのモデルは、あらかじめブートストラップされている必要があります。fetch は、すぐには必要ないインターフェイスのモデルを遅延ロードすることを目的としています。

しかし、私のようなケースではそれが正しいことなのだろうか?

4

2 に答える 2

3

私の意見を答えにしたくはありませんでしたが、「このユースケースでは、ページの読み込み時にフェッチを使用してモデルを読み込むのは、技術的またはその他の理由でない」と言えると思います。8)

于 2012-06-02T10:07:21.003 に答える
1

サーバー側のプラットフォームで JS コードを解析し、そこにデータを挿入する必要があります。

次の 2 つの方法があります。

1.init.jsサーバー側で解析できるようにする

<html>
  <script src="init.js.php"></script>
<html>

補間タグiniti.js.phpを使用できます。

2. 別の解釈可能な JS ファイルにデータをロードする

<html>
  <script src="data.js.php"></script>
  <script src="init.js"></script>
<html>

次のdata.js.phpようなものがあります。

MyApp.data = <?php echo ... ?>

あなたのコレクションにinit.js使用できます。MyApp.datareset

于 2012-06-02T08:50:10.370 に答える