请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师请帮忙看一下drag 指令没有问题,但是 drop进入后无法显示背景变色,谢谢

在‘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);

}

}


}

检查没发现问题,请老师帮我看看,谢谢

正在回答 回答被采纳积分+3

2回答

_Minos 2018-04-10 15:01:39

我觉得是 由于冒泡问题导致的!因为 就是 不写selector: '[app-droppable][dragEnterClass]', 只写selector: '[app-droppable]',只要拖拽的时候 到 list-item外就可以

1 回复 有任何疑惑可以回复我~
接灰的电子产品 2017-08-26 16:08:11
selector: '[app-droppable][dragEnterClass]',
0 回复 有任何疑惑可以回复我~
  • _Minos #1
    我觉得是 由于冒泡问题导致的!因为 就是 不写selector: '[app-droppable][dragEnterClass]',
    只写selector: '[app-droppable]',只要拖拽的时候 到 list-item外就可以
    回复 有任何疑惑可以回复我~ 2018-04-10 15:01:01
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信