Backbone: No se pueden pasar atributos de "datos" dentro del método de atributos de View

Creado en 3 oct. 2012  ·  8Comentarios  ·  Fuente: jashkenas/backbone

Soy un fanático de establecer atributos dentro de una vista como tal ...

Backbone.View.extend ({
 atributos: {
 data-attr: 'mydata'
 }
 });

... sin embargo, esto arroja un error debido al guión en la clave "data-attr".

SyntaxError no detectada: fichas inesperado -
Me doy cuenta de que este es un token ilegal en un objeto de valor clave de JavaScript, sin embargo, esperaba que Backbone ofreciera alguna solución para esto, dado que pasar atributos de datos es uno de los escenarios más probables. He estado trabajando alrededor de esto estableciendo el atributo dentro de la función de renderizado usando jQuery:
render: function () {
 this. $ el.attr ('data-attr', 'mydata "');
 }

Esto funciona, pero pensé en preguntar si hay otra opción.

question

Comentario más útil

Puedes usar una función como esta:

attributes: function() {
  return {
    'data-attr': this.model.foo
  };
}

Todos 8 comentarios

Sí, es solo un objeto de JavaScript. Utilice claves entre comillas.

attributes: {
    "data-attr": "mydata"
}

¡Ahh, pensé que lo había intentado! ¡Gracias!

¿Qué sugiere para pasar un atributo de datos al elemento DOM de la Vista desde los atributos dentro del Modelo de la Vista? Como tal...

 atributos: {
 "data-attr": this.model.foo
 }

Estoy perdiendo el espacio para hacer referencia a "esto".

 Error de tipo no detectado: no se puede leer la propiedad 'modelo' de indefinido 

Puedes usar una función como esta:

attributes: function() {
  return {
    'data-attr': this.model.foo
  };
}

Impresionante. Eso funciona perfectamente. ¡Gracias por las rápidas respuestas!

De nada, pero en el futuro, no use los tickets de error para soporte técnico como este; pruebe primero el canal de IRC o la lista de correo.

Feliz de. Lo intenté primero, pero solo hay otro usuario en DocumentCloud IRC, Turjakas, que no respondió.

Debe haber escrito mal: hay 242 personas en #documentcloud en freenode en este momento.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

jonathan picture jonathan  ·  11Comentarios

miguelpayet picture miguelpayet  ·  9Comentarios

rafde picture rafde  ·  9Comentarios

gfranko picture gfranko  ·  18Comentarios

alundiak picture alundiak  ·  7Comentarios