6

Backbonejsアプリケーションで動的にいくつかのビュー要素を作成したいと思います。新しいビューが初期化されるときに、新しい要素をDOMに挿入し、要素への参照をview.elに格納して、通常どおりイベントを委任する必要があります。

HTMLを入力してから、el: "#test"を使用してビューを設定できることを理解していますが、これは、Webアプリケーションの中心ではないモーダルやその他のビューにとってはやり過ぎのようです。私がドキュメントに欠けているこれを行うための規定された方法はありますか?ビューがどのように機能するのか誤解しているだけですか?

4

1 に答える 1

7

バックボーン ビューはel、何もしなくても自動的に を生成します。デフォルトでは、<div>. ただし、任意のタグ名を生成できます。ビューをインスタンス化したら、ビューにメソッドを実装renderel、HTML を設定します。


MyView = Backbone.View.extend({});

var v = new MyView();
console.log(v.el); // => "<div></div>"


// define your own tag, and render contents for it

MyTagView = Backbone.View.extend({
  tagName: "ul",

  render: function(){
    this.$el.html("<li>test</li>");
  }
});

var v2 = new MyTagView();
v2.render();
console.log(v2.el); // => "<ul><li>test</li></ul>"

ビューの HTML をレンダリングするためにテンプレート システムを使用するのが一般的な方法です。たとえば、Underscore.js テンプレート、Handlebars、または他の多数のテンプレート JavaScript テンプレート エンジンのいずれかです。

ビューからコンテンツを生成したら、それを表示する前に DOM のどこかに貼り付ける必要があります。これは通常、jQuery または別のプラグインで行われます。

$("#some-element").html(v2.el);

于 2012-04-13T12:40:17.343 に答える