@Fesor Спасибо. Из вашего примера действительно легко и удобно получается элемент массива связанный с droppable. Осталась проблема с тем, как получить элемент, который мы, собственно, перетаскиваем. Между директивами он передается через dataTransfer, как того требует html5. При этом передаем мы все-таки dom-данные (например его id). Видимо для этого придется все-таки делать angular.element().scope(), нет?
ничего не мешает. Но если мне нужно раздавать id элементам и потом по ним снова искать в массивах, то нет никакого смысла в angularjs и его привязке к данным. А вопрос именно в рамках angularjs
@Fesor Он и так работает с имеющимся $scope и данными, которые он туда запихнул.
Директива работает с dom'ом, она ничего не знает про данные, которые пришли из контроллера, соответственно обратно в колбэк она и передаст dom объекты, которые когда-то сформировал сам контроллер и которые привязаны к его данным
аргументы? Преобразований dom'a там нет, все что нужно - получить scope элемента. Каким образом тогда вы предлагаете после драг-н-дропа машины в гараж обновить данные в массивах в контроллере?
директива и не знает. Она просто вызывает callback (тот самый on-drop), передавая два элемента. angular.element().scope() делается уже в контроллере в обработчике callback'a
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.