2

我对backbone.js 很陌生,在javaScript 方面经验很少。我正在尝试在这里和那里找到的各种主干教程。例如,从本教程中我试图学习

骨干婴儿步骤

在上面的大多数教程中,他们使用下面的代码Backbone.View.extend在 html 模板中设置模型,然后渲染它,

render: function() {
    var tmpl = _.template(this.template);
    this.$el.html(tmpl(this.model.toJSON()));
    return this;
    }

但是当我在 chrome 调试器中运行代码时,它说这this.$el是未定义的。我搜索了很多但没有得到解决方案,然后我自己修改了代码并且它有效,

$(this.el).html(tmpl(this.model.toJSON()));

我将cdnjs托管库用于主干、下划线和 jquery。

我想知道为什么互联网上的每个骨干教程都使用this.$el版本,但它对我不起作用?

而且,当我使用教程提供的库(主干、下划线等)文件而不是托管文件时,chrome 调试器会在库中出现各种错误,为什么?

4

2 回答 2

8

根据文档中指定的更改日志,在 version 中添加了$elproperty- 。尝试将您正在使用的版本升级到或更高版本。它应该在那之后工作。a cached jQuery (or Zepto) reference to the view's element0.9.0backbone0.9.0

于 2013-01-08T07:07:13.977 回答
1

您需要在您的视图中定义如下

var ElementView = Backbone.View.extend({
    el: $("#picker")
}
于 2013-01-08T06:51:55.897 回答