Использование угловой Dragula без RequireJS

Я хотел бы реализовать Drag and Drop в моем проекте Angular, используя модуль угловой-dragula (https://github.com/bevacqua/angular-dragula). Однако, похоже, он сильно зависит от RequireJS. Я не использовал Требование некоторое время, и только тогда для примера приложения или двух. Есть ли простой способ распутать Требовать от этого модуля?

Автор, похоже, считает, что это просто (https://github.com/bevacqua/angular-dragula/issues/23) и закрыл аналогичные вопросы, не имея реального объяснения. Я просмотрел код и не вижу, как загрузить модуль без добавления RequireJS в мой проект (чего я не хочу делать). Я застрял либо не используя этот модуль, либо добавляя Требовать или есть способ использовать это без Требований?

Ответы

Ответ 1

Хорошо, после помощи тех, кто прокомментировал (спасибо всем!), Я смог заставить это работать. Есть пара вещей, которые вам нужно сделать. Во-первых, я связывал этот модуль с остальными модулями и пытался его назвать. Это не сработает, потому что его нужно инициализировать с помощью параметра (angular). Поэтому вам необходимо сделать следующее:

  1. Добавьте ссылку на angular-dragula.js (или версию мин) на страницу index.html ниже объявления для углового, но выше, где вы создаете свое приложение.
  2. Когда вы объявляете зависимости для своего приложения, укажите angularDragula(angular) (не в кавычках).
  3. Используйте dragula, как обычно. Если вам нужно получить доступ к службе, имя будет angularDragula.

Например, вот мое объявление приложения:

var app = angular.module('app', [
  'ngRoute',
  angularDragula(angular)
]);

И тогда, чтобы получить простой список для перетаскивания, это мой html:

<div dragula='"bag-one"' dragula-model="vm.items">
    <div ng-repeat="item in vm.items">{{ item }}</div>
</div>

Обратите внимание, что я не объявляю угловуюDragula нигде, в отличие от примеров. В примере, который автор дает, он требует angular и создает angular переменную, а затем он требует angular-dragula и создает angularDragula переменную angularDragula. Это не требуется, если вы не используете RequireJS пока вы загружаете скрипты в правильном порядке.