如何在aurelia中对树控件进行拖放?
我目前正在尝试编写一个树控件,我有以下自定义属性(draggable和dropplable):draggable如下:如何在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
@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上看到过,我想你是对的,它实际上包含在类中,只是格式很有趣。不确定具体的答案,但是你看过这个包吗?这个问题解决了吗?两年内发生了很多变化,也许是时候结束这个问题了?