Ответ 1
Сохранение в качестве атрибута данных на самом деле довольно чистое, а производительность не будет плохой. Вы можете сохранить атрибут cid
модели cid
в DOM el и использовать метод коллекции getByCid
для извлечения модели.
Одна из особенностей моего приложения Backbone включает в себя объединение моделей типа A с моделями типа B, которые выполняются путем перетаскивания представления A в вид B. В классе B view Я слушаю событие drop и из этого получаю элемент DOM вида A, но нет информации о модели A.
Какой лучший способ получить эту информацию? Мои лучшие догадки пока
но все эти подходы кажутся запутанными/неэлегантными.
Сохранение в качестве атрибута данных на самом деле довольно чистое, а производительность не будет плохой. Вы можете сохранить атрибут cid
модели cid
в DOM el и использовать метод коллекции getByCid
для извлечения модели.
Я думаю, что самый чистый способ сделать это - это кинакута, упомянутая в комментарии, чтобы связать элемент dom с моделью, используя идентификатор, например. a data-attribute.
Это имеет смысл с точки зрения реализации, потому что это позволяет вам иметь двунаправленную зависимость, и вы можете ссылаться на нее с другой легко позже, когда ваше приложение становится более сложным.
Ваши упомянутые решения также будут работать, однако я чувствую, что решение A кажется немного хакерским, решение B является менее чистым кодом, а решение C по сути аналогично использованию атрибута data.