我一直在关注我在youtube上找到的教程。 https://www.youtube.com/watch?v=vPW1inIsln4
在教程中我没有看到他定义el:......但是他正在调用它。$ el它似乎正在工作。
在jsfiddle,我一直在跟随,但是得到一个js错误说
Backone this.el未定义
有人可以向我解释发生了什么事吗?
<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);
})();
答案 0 :(得分:7)
你的小提琴使用的是一个非常古老的Backbone版本0.3.3
,可以追溯到2010年12月1日。更改为当前版本的下划线(1.8.3
)和Backbone(1.2.1
)解决了错误
有关更新版本,请参阅http://jsfiddle.net/nikoshr/tga2La9L/3/