var divElement = Backbone.View.extend({
initialize: function () {
this.render();
},
render: function () {
$el.append("<ul id='ulList'></ul>"),
wines.each(function (model) {
$("#ulList").append("<li>" + model.winename + "</li>");
});
return this;
}
});
当我实例化我的视图时,我将$ el视为未定义...为什么会这样?默认情况下,el应为div
答案 0 :(得分:1)
您需要添加“this”:
this.$el.append("<ul id='ulList'></ul>"),
见这里:http://backbonejs.org/#View-render
似乎附加功能和html()一样。
答案 1 :(得分:1)
这是范围问题,在函数范围内JS不知道在哪里找到$ el变量,所以它认为它是未定义的,因为函数中没有明确定义的位置。但是,它定义在&#34; this&#34;对象,所以这个。$ el将返回元素。如果你在名为strict mode的东西中写javascript,那么这样的小错误就会被自动拾取。