javascript backbone.js

javascript - ¿Evita que la red troncal agregue divisiones divisoras a una vista?



backbone.js (3)

Lo que está sucediendo es this.el se crea sobre la marcha porque nunca fue explícitamente establecido por usted. Tienes dos opciones:

  1. Debería especificar el elemento que desea crear con tagName , className y / o id y dejar que backbone lo cree por usted.

  2. En el render , debe establecer this.el en el contenido de su plantilla de this.el de this.el . Entonces tendrías this.el = $(template(context)) .

Los documentos tienen una explicación ampliada: http://documentcloud.github.com/backbone/#View-el

Estoy usando Handlebars.js como una herramienta de plantillas para mi aplicación Backbone.js. Mis funciones de representación en mis vistas suelen tener el siguiente aspecto:

var source = $("#round").html(); var template = Handlebars.compile(source); var context = JSON.parse(JSON.stringify(this.model)); var html = template(context); $(this.el).html(html); return this;

Lo anterior se agrega a la vista principal de la aplicación a través del siguiente código (este es el código que llama al código anterior):

$(''div#round-container'', this.el).append(roundView.render().el);

La plantilla My Handlebars maneja todo el diseño y el estilo, por lo que dejo el elemento "el" de una vista en blanco. Backbone.js agrega automáticamente etiquetas div alrededor de la plantilla de manubrios. Supongo que es porque el elemento "el" está en blanco. ¿Hay alguna manera de evitar la adición de las etiquetas div circundantes? ¡Gracias!


O anexe el html del elemento representado, por ejemplo:

$(''div#round-container'', this.el).append(roundView.render().el.html());


Otra manera fácil es agregar los nodos secundarios del elemento renderizado en su lugar

$(''div#round-container'', this.el).append(roundView.render().el.childNodes);