我目前正在尝试编写树控件,并且我有以下自定义属性(可拖动和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并将数据添加到树数组中。
这是在aurelia中执行此操作的最佳方式,还是可以使用其他技巧?我想在angularjs中我会这样做或通过树的根镜。
我有什么选择?