Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么。$el给出了未定义的错误,而$(this.el)在主干视图中的渲染函数中工作?_Javascript_Backbone.js_Backbone Views - Fatal编程技术网

Javascript 为什么。$el给出了未定义的错误,而$(this.el)在主干视图中的渲染函数中工作?

Javascript 为什么。$el给出了未定义的错误,而$(this.el)在主干视图中的渲染函数中工作?,javascript,backbone.js,backbone-views,Javascript,Backbone.js,Backbone Views,我对backbone.js非常陌生,对javaScript几乎没有经验。我试着在这里和那里找到各种主干教程。e、 从这个教程中,我试图学习 在大多数类似上面的教程中,他们在Backbone.View.extend中使用以下代码在html模板中设置模型,然后渲染它 render: function() { var tmpl = _.template(this.template); this.$el.html(tmpl(this.model.toJSON())); retu

我对backbone.js非常陌生,对javaScript几乎没有经验。我试着在这里和那里找到各种主干教程。e、 从这个教程中,我试图学习

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

render: function() {
    var tmpl = _.template(this.template);
    this.$el.html(tmpl(this.model.toJSON()));
    return this;
    }
但是当我在chrome调试器中运行代码时,它会说this
this.$el
未定义。我搜索了很多,但没有找到解决方案,然后我自己修改了代码,它成功了

$(this.el).html(tmpl(this.model.toJSON()));
我正在为主干、下划线和jquery使用
cdnjs
托管库

我想知道为什么互联网上的每一个主干教程都使用
这个.el
版本,但它不适合我


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

您需要在视图中定义,如下所示

var ElementView = Backbone.View.extend({
    el: $("#picker")
}

根据,
$el
属性-
中指定的更改日志,在版本
0.9.0
中添加了对视图元素的缓存jQuery(或Zepto)引用。尝试将您使用的
backbone
版本升级到
0.9.0
或更高版本。之后它应该可以工作。

您正在使用的
backbone
的版本是什么?尝试升级到
0.9.0
或更高版本,
这个。$el
属性-
在该版本中添加了对视图元素的缓存jQuery(或Zepto)引用。您可以参考中的0.9.0更改日志。谢谢。。。我用的是非常旧的版本。现在它正在使用
这个。$el
我已经发布了一个答案,这样我们就可以将未回答的问题减少一个。