Tengo un método render en red troncal que va básicamente lo siguiente:Llamar a un plugin de jQuery en un Backbone rendir método
render: function() {
$.tmpl(this.template, attrs).appendTo(this.el);
return this;
},
que se llama a partir de una acción del router:
action: function() {
$('#container').empty();
$('#container').append(myView.render().el);
},
Ahora, desea aplicar un complemento en label
elementos dentro de esta vista. Mi primer pensamiento fue llamar el plugin dentro render
:
render: function() {
$.tmpl(this.template, attrs).appendTo(this.el);
this.$('label').inFieldLabels();
return this;
},
pero esto no funciona (estoy suponiendo que esto se debe a que el elemento no se ha añadido a la DOM todavía). Se hace trabajo si llamo el plugin en la acción del router sin embargo:
action: function() {
$('#container').empty();
$('#container').append(myView.render().el);
myView.$('label').inFieldLabels();
},
prefiero no hacer esto, ya que el plugin es parte de la vista, no el router, por lo que no hace sentido para llamarlo dentro de la acción. ¿Hay una mejor manera de hacer esto?
Gracias - que es esencialmente lo que quiero decir con "modificar el código para la el elemento se agrega al DOM en el método 'render' Por cierto, puedes hacer 'this. $ ('Label')', que es una abreviatura de '$ ('label', this.el)'. – Skilldrick
gracias! no lo sabe;) –