tagName
の代わりに使用しel
ます。@muistooshort
に感謝します。全体を削除しただけです。<p>
var TodoView = Backbone.View.extend({
tagName:'h3',
render: function () {
$('body').append(this.$el.html("fgfdgdfg"));
}
});
var todoView = new TodoView();
todoView.render();
el
ビューで使用する既存の DOM 要素があるかどうかを設定します。設定tagName
は、ビューのルートの 'h3' 要素を生成するように Backbone に指示します。
これを行うこともできます (私はこの方法を好みます。'el' の設定は避けてください):
var TodoView = Backbone.View.extend({
tagName:'h3',
render: function () {
this.$el.html("fgfdgdfg");
return this;
}
});
// view is more reusable now, since it doesn't have the 'body' part in render.
// So, another instance could be rendered and added to the page somewhere else.
var todoView = new TodoView();
$('body').append(todoView.render().el);
var todoView2 = new TodoView();
$('body').append(todoView2.render().el);
ビューに使用したい 'h3' 要素が html に既にある場合は、次のようにすることができます。
// assuming this html on the page already:
// <body><h3></h3></body>
var TodoView = Backbone.View.extend({
// setting 'el' tells backbone to use the existing <h3>.
// You probably would want to use an id rather than 'h3' though.
el:'h3',
render: function () {
this.$el.html("fgfdgdfg");
return this;
}
});
var todoView = new TodoView();
todoView.render();