import { Directive, ElementRef } from '@angular/core'; import { DragDirective } from './drag.directive'; @Directive({ selector: '[appSwap]' }) /** * 交换位置指令 */ export class SwapDirective extends DragDirective { // tslint:disable-next-line:member-ordering /** * 存放所有指令位置 */ static elList = new Array(Map); constructor(public el: ElementRef) { super(el); } /*获取元素绝对位置的纵坐标*/ getTop(e) { let offset = e.offsetTop; if (e.offsetParent) { offset += this.getTop(e.offsetParent); } return offset; } /*获取元素绝对位置的横坐标*/ getLeft(e) { let offset = e.offsetLeft; // console.log(offset); if (e.offsetParent) { offset += this.getLeft(e.offsetParent); } return offset; } // tslint:disable-next-line:use-life-cycle-interface ngOnInit() { super.ngOnInit(); } }