既然您可以将视图的el指定为它的属性之一,那么为什么它仍然需要作为参数传递才能工作呢?
例如:
var DetailsView = Backbone.View.extend({
el: $(".details")
});
作为参数:
var DetailsView = new DetailsView({ el: $(".details") });
发布于 2013-09-28 02:44:19
它不需要指定。如果在这一点上已经有了一个与选择器匹配的元素,那么应该可以这样做:
$('body').append($("<div class='details'></div>"));
var DetailsView = Backbone.View.extend({
el: $(".details")
});
console.log(new DetailsView().el.className); // details
在定义视图时,我怀疑元素不在DOM中。
Backbone.View
的工作方式是检查是否将el
指定为属性,如果没有,则检查el
是否在原型中指定,如果没有,则使用原型上的tagName
、className
和attributes
属性为视图创建一个新元素。
https://stackoverflow.com/questions/19065891
复制