Una característica de mi aplicación Backbone implica asociar modelos de tipo A con modelos de tipo B, lo cual se hace arrastrando la vista A a la vista B. En la clase de vista B, escucho el drop event y de esto obtengo el elemento DOM de la vista A, pero no hay información sobre el modelo A.Usar jQuery UI arrastrar/soltar con backbone.js
¿Cuál es la mejor manera de obtener esta información? Mis mejores conjeturas hasta el momento son
- tienen el modelo A guardar una referencia a sí mismo en el espacio de nombres de la aplicación, la eliminación de esta referencia en el extremo de arrastre si el manejador de caída no lo ha hecho ya
- fuego un evento en la vista A , pasando una referencia al modelo B junto con el evento, y luego tener un modelo de llamar a un método del modelo B ...
- tienda modelo a como un atributo $ .data de vista un
pero todos estos los enfoques parecen intrincados/poco elegantes.
Si puede obtener el elemento DOM, ¿el elemento DOM está asociado al ID del modelo de alguna manera? ¿Te gusta la identificación del elemento o algún campo de datos que configuras? – kinakuta
No. Esta sería una forma bastante buena de hacerlo, pero preferiría no tener que buscar por id cuando el modelo ya está tan estrechamente vinculado con la vista: parece un desperdicio perder de vista el modelo y luego tener que encontrarlo de nuevo. – wheresrhys
Sé lo que quiere decir, pero la interacción entre los dos modelos es algo ilusoria: los modelos son solo representaciones de datos cuando, en realidad, lo que está sucediendo son los eventos DOM que se activan. Obtener los datos del DOM parece un paso necesario ya que los modelos en realidad no están cambiando de ninguna manera. – kinakuta