使用没有RequireJS的角度Dragula

时间:2015-11-16 20:57:18

标签: javascript angularjs requirejs dragula

我希望使用angular-dragula模块(https://github.com/bevacqua/angular-dragula)在我的Angular项目中实现拖放。但是,它似乎严重依赖于RequireJS。我没有使用需要一段时间,只有一个示例应用程序或两个。有没有一种简单的方法来解开这个模块的需求?

作者似乎认为它很简单(https://github.com/bevacqua/angular-dragula/issues/23)并且在没有真正解释的情况下也关闭了类似的问题。我查看了代码并且没有看到如何加载模块而没有将RequireJS添加到我的项目中(我不想这样做)。我是否坚持使用不使用此模块或添加Require或是否有办法在没有要求的情况下使用它?

1 个答案:

答案 0 :(得分:23)

好的,在评论过的人的帮助下(谢谢大家!),我能够让它发挥作用。您需要做几件事。首先,我将此模块与其余模块捆绑在一起并尝试调用它。这不起作用,因为它需要使用参数($html = "curl 'http://bebekbayi.com/WS/wsProduct.asmx/GetProductList' -H 'Origin: http://bebekbayi.com' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36' -H 'Content-Type: application/json; charset=UTF-8' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Referer: http://bebekbayi.com/reyon/Anne' -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' --data-binary '{\"PageName\":\"reyon\",\"pUrl\":\"Anne\",\"pIndex\":1,\"BrandList\":\"\",\"ColorList\":\"\",\"ItemDim1CodeList\":\"\",\"PropList\":\"\",\"QPrice\":\"\",\"cFilter\":\"\"}' --compressed"; exec($html,$result); $obj = json_decode(implode("",$result) , true); print_R($obj);exit; exit; )进行初始化。因此,您需要执行以下操作:

  1. 将angular-dragula.js(或最小版本)的引用添加到index.html声明下面的index.html页面,但高于您创建应用的位置。
  2. 声明应用的依赖关系时,请指定angular(不在引号中)。
  3. 像往常一样使用dragula。如果您需要访问该服务,则名称为angularDragula(angular)
  4. 例如,这是我的app声明:

    angularDragula

    然后得到一个简单的列表,可以拖放,这是我的HTML:

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

    请注意,与示例不同,我没有在任何地方声明angularDragula。在作者给出的示例中,他需要<div dragula='"bag-one"' dragula-model="vm.items"> <div ng-repeat="item in vm.items">{{ item }}</div> </div> 并创建angular变量,然后他需要angular并创建angular-dragula变量。如果您没有使用angularDragula,只要以正确的顺序加载脚本,就不需要这样做。