Backbone this.el 未定义
Backbone this.el is undefined
我一直在关注我在 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
) 解决了错误
请参阅 http://jsfiddle.net/nikoshr/tga2La9L/3/ 以获取更新版本
我一直在关注我在 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
) 解决了错误
请参阅 http://jsfiddle.net/nikoshr/tga2La9L/3/ 以获取更新版本