老师请帮忙看一下drag 指令没有问题,但是 drop进入后无法显示背景变色,谢谢
来源:4-3 打造支持拖拽的属性型指令

frych
2017-08-26
在‘task-home.component.html’
<app-task-list
class="list-container"
app-droppable
[dragEnterClass]="'drag-enter'"
*ngFor="let list of lists">
在 ‘drop.directive.ts’
import { Directive, HostListener, ElementRef, Renderer2, Input } from '@angular/core';
@Directive({
selector: '[app-droppable]'
})
export class DropDirective {
@Input() dragEnterClass: string;
constructor(private el: ElementRef, private rd: Renderer2) { }
@HostListener('dragenter', ['$event'])
onDragEnter(ev: Event) {
if (this.el.nativeElement === ev.target) {
this.rd.addClass(this.el.nativeElement, this.dragEnterClass);
}
}
@HostListener('dragover', ['$event'])
onDragOver(ev: Event) {
if (this.el.nativeElement === ev.target) {
}
}
@HostListener('dragleave', ['$event'])
onDragLeave(ev: Event) {
if (this.el.nativeElement === ev.target) {
this.rd.removeClass(this.el.nativeElement, this.dragEnterClass);
}
}
@HostListener('drop', ['$event'])
onDrop(ev: Event) {
if (this.el.nativeElement === ev.target) {
this.rd.removeClass(this.el.nativeElement, this.dragEnterClass);
}
}
}
检查没发现问题,请老师帮我看看,谢谢
2回答
-
_Minos
2018-04-10
我觉得是 由于冒泡问题导致的!因为 就是 不写selector: '[app-droppable][dragEnterClass]', 只写selector: '[app-droppable]',只要拖拽的时候 到 list-item外就可以
10 -
接灰的电子产品
2017-08-26
selector: '[app-droppable][dragEnterClass]',
012018-04-10
Angular打造企业级协作平台,让你在Angular领域中出类拔萃
998 学习 · 536 问题
相似问题