无法让aurelia-dragula插件工作

时间:2016-10-15 15:35:26

标签: aurelia aurelia-cli

我正在尝试查看aurelia-dragula plugin以查看它是否符合我的需求,但是当我尝试拖动应该是可拖动的元素时,没有任何反应。我甚至尝试了example,它也没有用。

对于我的自定义测试,我使用aurelia cli创建了一个新项目,npm安装了aurelia-dragula 1.2.6。这是我的代码:

aurelia.json

{
    "name": "aurelia-dragula",
    "path": "../node_modules/aurelia-dragula/dist/amd",
    "main": "dragula"
}

main.js

aurelia.use
    .standardConfiguration()
    .feature('resources')
    .plugin('aurelia-dragula');

浏览器日志显示插件已加载,因此我假设上述内容一切正常。

我使用了自定义元素方法的文档中的示例html和javascript,如下所示:

app.html

<template>
    <dragula-and-drop drop-fn.call="itemDropped(item, target, source, sibling, itemVM, siblingVM)"></dragula-and-drop>
    <div class="drag-source drop-target">
      <div repeat.for="thing of things">
          <p style="background-color: red; color: white; width: 200px;"">${thing}</p>
      </div>
    </div>
</template>

app.js

export class App {
    constructor() {
      this.things = ['1', '2', '3', '4'];
    }

    itemDropped(item, target, source, sibling, itemVM, siblingVM) {
      //do things in here
    }
}

3 个答案:

答案 0 :(得分:0)

你没忘记导入吗?

import {Dragula} from 'aurelia-dragula';

答案 1 :(得分:0)

问题出在你的aurelia.json文件中。 试试这个:

{
   "name": "aurelia-dragula",
   "path": "../node_modules/aurelia-dragula/dist/amd",
   "main": "index"
}

答案 2 :(得分:0)

我知道它肯定有点晚了,但是如果有人有同样的问题,这里是aurelia-dragula的正确aurelia.json设置:

{
    "name": "aurelia-dragula",
    "path": "../node_modules/aurelia-dragula/dist/amd",
    "main": "index",
    "resources": [
        "*.js",
        "*.html",
        "*.css"
    ]
}

问题是没有加载资源。实际上我不知道为什么,因为我认为所有的插件内容(对应于path)都会被捆绑和加载,但似乎并非如此。

话虽这么说,aurelia-cli已经改进,现在提出了import命令,这很棒。您只需npm install您的图书馆,然后au import它就会填充aurelia.json文件。但是,您有时需要进行一些手动调整,就像这一个;我想知道为什么这个导入命令没有正确填充aurelia.json部分。

希望这有帮助! : - )