0

私は、backbone.js と場合によっては require.js で構成された、AMD ベースの大規模な JavaScript アプリケーションを開発する予定です。私は最善の方法について調査を行っており、使用したいものの 1 つは、テンプレート ライブラリ、特に handlebars.js です。

ここでの私の問題は、アプリケーションがロードされた後、その場でロードして実装できるjavascriptのみのモジュールを作成したいということです。テンプレートは HTML タグに基づいていますが、事後に html ページを含めたくありません。

私の質問は次のとおりです。JavaScript で HTML テンプレートを文字列としてモックアップし、それらをレンダリングするのは愚かですか、それとも有効な方法ですか? パフォーマンスだけでポイント全体を殺してしまうような気がしますが、本当にわかりません.

これは私が話していることの例です:

var render = function(html, model) {
  var tmpl = Handlebars.compile(html);
  return tmpl(model);
}

$(document).ready(function() {

  var template = '<div class="entry">' + 
                   '<h1>{{title}}</h1>' + 
                   '<div class="body">{{body}}</div>' + 
                 '</div>';

  var model = {
    title: 'I love templating,',
    body: 'And so do you!'
  }

  template = render(template, model);
  $(document.body).append(template);

});

これはひどい慣習ですか、それとも JavaScript のみのアプリケーションでこれを実装するためのより良い方法はありますか?

4

1 に答える 1

1

テンプレートは、HTML を JavaScript コードから分離するために使用されます。AMD 環境でテンプレート コードを読み込むには、requireJS テキスト プラグインを参照することをお勧めします。

于 2013-07-16T01:35:15.913 に答える