如何在aurelia中对树控件进行拖放?

如何在aurelia中对树控件进行拖放?,aurelia,Aurelia,我目前正在尝试编写一个树控件,我有以下自定义属性(draggable和dropplable):draggable如下: @customAttribute('draggable') @inject(Element) export class Draggable { constructor(element) { this.element = element; } valueChanged(newValue){ var el = this.element; el.dragga

我目前正在尝试编写一个树控件,我有以下自定义属性(draggable和dropplable):draggable如下:

@customAttribute('draggable')
@inject(Element)
export class Draggable {
   constructor(element) {
   this.element = element;
}

valueChanged(newValue){
   var el = this.element;
   el.draggable = true;
   el.addEventListener('dragstart', function(e) {
     e.dataTransfer.effectAllowed = 'move';
           // etc.
     if (e.stopPropagation)
       e.stopPropagation();
     return false;
   }, false);
   el.addEventListener('dragend', function (e) {
    this.classList.remove('drag');
    return false;
   }, false);
 }
}
等等。 从droppable属性中,我考虑了一种pub/sub机制,其中视图模型将拾取drop并将数据添加到树数组中

这是在奥雷利亚做到这一点的最好方法,还是我可以遵循其他一些技巧?我想在angularjs中,我会这样做,或者通过树的根范围


我的选项是什么?

看起来不错,但您需要在类中移动value changed方法。@PWKad:很抱歉,格式有点不正确,但是valueChanged方法是属性类的一部分。这就是你的意思吗?或者你是说valueChanged方法应该在viewModel类中?明白了,我在mobile上看到过,我想你是对的,它实际上包含在类中,只是格式很有趣。不确定具体的答案,但是你看过这个包吗?这个问题解决了吗?两年内发生了很多变化,也许是时候结束这个问题了?