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