Подтвердить что ты не робот

Базовый перетаскиваемый с помощью AngularJS?

Мне не нужны перетаскиваемые сортируемые элементы или что-то необычное, просто перетаскиваемый элемент, как обычный объект перетаскивания div jQuery:

$("#draggable").draggable();

Каков правильный способ сделать это через Angular? Я все еще использую jQueryUI, или есть что-нибудь в AngularUI, которое я могу использовать? Я просмотрел обе библиотеки Angular, но не нашел ничего конкретного, касающегося перетаскиваемых объектов.

4b9b3361

Ответ 1

Используйте директиву.

Пример:

angular.module("myApp").directive('andyDraggable', function() {
  return {
    restrict: 'A',
    link: function(scope, elm, attrs) {
      var options = scope.$eval(attrs.andyDraggable); //allow options to be passed in
      elm.draggable(options);
    }
  };
});

HTML

<div andy-draggable>Drag me!</div>
<div andy-draggable="{key: value}">Drag me with options!</div>

Документация по директивам: http://docs.angularjs.org/guide/directive

Вы также можете создать привязку данных для текущей позиции элемента во время перетаскивания, активировать события и т.д. Но это действительно базовая версия.