[英]Why this.$el gives undefined error but $(this.el) works inside render function in Backbone view?
我對於幾乎沒有javaScript經驗的backbone.js很新。 我在這里和那里嘗試各種骨干教程。 例如,從本教程我試圖學習
在上面的大多數教程中,他們使用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調試器會在庫中出現各種錯誤,為什么?
根據docs中指定的更改日志, $el
屬性 - 在0.9.0
版本中添加了a cached jQuery (or Zepto) reference to the view's element
。 嘗試將您使用的backbone
版本升級到0.9.0
或更高版本。 它應該在那之后工作。
您需要在視圖中定義,如下所示
var ElementView = Backbone.View.extend({
el: $("#picker")
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.