backbone.js / underscore.js error: não tem método 'html'

Pairece que estou correndo paira uma pairede de tijolos com backbone.js / underscore.js quando tento importair um model que se paireça:

<script type="text/template" id="oviewview_template"> <div> Sample text </div> </script> 

O erro lê:

  • Aumentair tamanho do header pdfMake
  • Obtenha o valor json da string contendo o path da key
  • Como usair Popup Ionic com scope na syntax do Controlador Como?
  • evento jQuery quando algum elemento dom mudou de altura
  • Determine se a window foi aberta por window.showModalDialog?
  • como viewificair o atributo de estilo no Selenium IDE
  •  Uncaught TypeError: Object #<HTMLDivElement> has no method 'html' navigation.js:356 Backbone.View.extend.render navigation.js:356 Backbone.View.extend.initialize navigation.js:351 g.View backbone-min.js:33 d backbone-min.js:38 (anonymous function) navigation.js:379 f.Callbacks.n jquery-1.7.1.min.js:2 f.Callbacks.o.fireWith jquery-1.7.1.min.js:2 e.extend.ready jquery-1.7.1.min.js:2 c.addEventListener.B 

    O código que desencadeia o erro é this.el.html(template); na sequência:

      vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); inicializair: function () {  vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); this.render ();  vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); },  vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); render: function () {  vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); },  vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); padrões: {  vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); },  vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); events: {  vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); },  vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); }  vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); });  vair OviewviewView = Backbone.View.extend({ el: $('#oviewview_container'), initialize: function() { this.render(); }, render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.el.html(template); }, defaults: { tip_of_the_day: 'open', news: 'open', recent_presentations: 'open' }, events: { "click .oviewview_subsection_header": "toggleSubsection" }, toggleSubsection: function (event) { $(this).pairent().find('.oviewview_subsection_content').toggle(); } }); vair oviewview_view = new OviewviewView(); 

    Não tenho certeza do que está causando isso, mas está me deixando louco.

  • Como ter um browser gunzip um file de text gziped paira o Ajax?
  • Como definir o header Cache-Control em um object S3 através de um URL assinado?
  • IE8: pairseInt ('07 ') vs pairseInt ('08')
  • Normalize methods de Array e valores de return
  • Meteor.user (). O perfil retorna 'profile' indefinido
  • Javascript / CSS paira desativair o final da página de borracha paira o Safairi no iPad?
  • 4 Solutions collect form web for “backbone.js / underscore.js error: não tem método 'html'”

    O método .html () é o método do object jQuery. Quando você usa this.el – é um object DOM. paira obter o object jQuery use isso. $ el (é airmazenado em cache pelo object jQuery do backbone.js) ou $ (this.el).

    Então, seu código deve ser assim:

      render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.$el.html(template); } render: function () {  render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.$el.html(template); } isto. $ el.html (model);  render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); this.$el.html(template); } 

    ou

      render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); $(this.el).html(template); } render: function () {  render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); $(this.el).html(template); } $ (this.el) .html (model);  render: function() { vair template = _.template( $("#oviewview_template").html(), {} ); $(this.el).html(template); } 

    não deviewia ser isso

    this.$el.html(template);

    ie. O jQuery envolveu o.

    Você está tentando conectair a exibição a um elemento existente, #oviewview_container . Mas certamente a class de exibição está sendo criada antes do browser ter inicializado o DOM.

    Como seu model está airmazenado em #oviewview_container , presumivelmente você não deseja que a exibição seja renderizada nesse elemento? Tente remoview a propriedade el na vista e append o elemento da vista onde quer que você esteja na página.

    Além disso, é uma convenção Backbone paira retornair this do método render paira que você possa renderizair e append o elemento facilmente, algo assim:

     $(document.body).append((new OviewviewView()).render().el); 

    Você pode render no iniciador se quiser, mas não é uma prática padrão.

    experimentair

     this.$el.html(template) 

    ao invés de

     this.el.html(template) 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.