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

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

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

1 ответ

Решение

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

  1. Добавьте ссылку на angular-dragula.js (или минимальную версию) на страницу index.html под объявлением для angular, но выше, где вы создаете свое приложение.
  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>

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

Другие вопросы по тегам