jquery - 主干 this.el 未定义

标签 jquery backbone.js

我一直在遵循我在 YouTube 上找到的教程。 https://www.youtube.com/watch?v=vPW1inIsln4

在教程中,我没有看到他定义 el : ...但他正在调用 this.$el 并且它似乎正在工作。

在 jsfiddle 中,我一直在关注,但出现 js 错误,提示

Backone this.el is undefined

http://jsfiddle.net/tga2La9L/

有人可以向我解释一下发生了什么吗?

<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/获取更新版本

关于jquery - 主干 this.el 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31006321/

相关文章:

javascript - 如何使用 Parse.com JavaScript SDK 上传图像?

javascript - 下划线模板不会加载 Model.id,在打印 <% console.log(Model.id) %> 时它显示为未定义

css - mouseenter事件与元素绝对位置冲突

javascript - 使用给定的搜索词改进 RegEx 以突出显示页面上的文本

javascript - jQuery div 旋转器

javascript - slideToggle 导致小故障

javascript - Backbone.Marionette + Rails 应用程序在表单提交后重定向。为什么?

javascript - 如何在 BackboneJS 应用程序中创建并打开警报对话框

javascript - vis.js 3D条形图: Set bar color based on z-coordinate value

javascript - 对象键值中的动态求和