我一直在遵循我在 YouTube 上找到的教程。 https://www.youtube.com/watch?v=vPW1inIsln4
在教程中,我没有看到他定义 el : ...但他正在调用 this.$el 并且它似乎正在工作。
在 jsfiddle 中,我一直在关注,但出现 js 错误,提示
Backone this.el is undefined
有人可以向我解释一下发生了什么吗?
<div id="canvas"/>
(function() {
var Rectangle = Backbone.Model.extend({});
var RectangleView = Backbone.View.extend({
tagName: 'div',
className: 'rectangle',
render: function() {
this.setDimensions();
this.setPosition();
return this;
},
setDimensions: function() {
this.$el.css({
width:this.model.get('width') + 'px',
height: this.model.get('height') + 'px'
});
},
setPosition() {
var position = this.model.get('position');
this.$el.css({
left:position.x,
top:position.y
});
}
});
var myRectangle = new Rectangle({
width:100,
height:60,
position: {
x:300,
y:150
}
});
var myView = new RectangleView({model: myRectangle});
$('div#canvas').append(myView.render().el);
})();
最佳答案
您的 Fiddle 使用非常旧的 Backbone 版本,0.3.3
,日期为 2010 年 12 月 1 日。更改为当前版本的 Underscore (1.8.3
) Backbone (1.2.1
) 解决了该错误
关于jquery - 主干 this.el 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31006321/