0

backbone.js と underscore.js を組み合わせて HTML ビットを作成する通常の方法を使用しています。これは私が使用するものの例です

_.template($('#html-container').html(), this.model.toJSON());

そして、必要な場所にこれを追加します。この場合のモデルは通常のバックボーン モデルです。

これが出力する HTML は次のようになります。

<li _id="4f82f7c3c5de997ad3fd4989" code="61131" unit="100ml" op="11" rp="22" cp="0" id="4f82f7c3c5de997ad3fd4989">

基本的に、モデル内の変数ごとに html 属性を作成しました。これは正常ですか、それともここで何か間違ったことをしていますか。

4

1 に答える 1

0

どこかにこのような行があるはずです。

var sometemplate = _.template($('#html-container').html());

これにより、テンプレートが関数にコンパイルされ、モデル データを渡して次のように html を生成できます。

var html =  sometemplate(this.model.toJSON());

すべてを 1 行で実行しようとしていますが、これは可能ですが(この方法ではありません)、一度テンプレートをコンパイルし、その参照をどこかに保存して、後で参照することをお勧めします。

http://documentcloud.github.com/underscore/#templateも参照してください

編集:そして今、私はそれを見たので、わかりました

1 回限りのものを作成している場合は、テンプレート関数を返す代わりにすぐにレンダリングするために、データ オブジェクトをテンプレートの 2 番目のパラメーターとして渡すことができます。

それで大丈夫です。したがって、おそらく、JSONable オブジェクトが生成されるときに複数のレイヤーオフデータを含めている (つまり、オブジェクト内にオブジェクトか何かがある)、または...

于 2012-04-19T23:55:46.563 に答える