使用不带RequireJS的角度拖动



我很想在我的Angular项目中使用Angular dragula模块实现拖放(https://github.com/bevacqua/angular-dragula)。然而,它似乎在很大程度上依赖于RequireJS。我已经有一段时间没有使用Require了,只是在一两个示例应用程序中使用了它。有没有一种简单的方法可以从这个模块中解开Require?

作者似乎认为这很简单(https://github.com/bevacqua/angular-dragula/issues/23)并在没有真正解释的情况下关闭了类似的问题。我已经看了代码,不知道如何在不将RequireJS添加到我的项目中的情况下加载模块(我不想这样做)。我是不是一直不使用这个模块或添加Require,或者有没有一种方法可以在没有Require的情况下使用它?

好吧,在那些发表评论的人的帮助下(感谢大家!),我能够让这件事发挥作用。您需要做几件事。首先,我将此模块与其他模块捆绑在一起,并尝试调用它。这将不起作用,因为它需要使用参数(angular)进行初始化。因此,您需要执行以下操作:

  1. 在你的index.html页面上,在angular的声明下方,但在你创建应用程序的位置上方,添加对angular-dragula.js(或最新版本)的引用
  2. 当您声明应用程序的依赖项时,请指定angularDragula(angular)(不加引号)
  3. 像往常一样使用龙舌兰。如果您需要访问该服务,则名称为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>

注意,我没有在任何地方声明angularDougula,与示例不同。在作者给出的示例中,他需要angular并创建angular变量,然后需要angular-dragula并创建angularDragula变量。如果不使用RequireJS,只要按正确的顺序加载脚本,就不需要这样做。

相关内容

  • 没有找到相关文章

最新更新