Javascript 获取已定义方法的未定义错误
我一直在尝试使用InteractJS为angular应用程序中的按钮实现拖放功能 我想从可交互div的drop事件调用类中定义的方法,但得到以下错误 我当前的代码: HTML 我已经删减了代码,使其更具可读性。我猜测,可能在触发事件时,angular不在控制范围内,因此这个实际上是未定义的。您需要将Javascript 获取已定义方法的未定义错误,javascript,angular,typescript,drag-and-drop,interactjs,Javascript,Angular,Typescript,Drag And Drop,Interactjs,我一直在尝试使用InteractJS为angular应用程序中的按钮实现拖放功能 我想从可交互div的drop事件调用类中定义的方法,但得到以下错误 我当前的代码: HTML 我已经删减了代码,使其更具可读性。我猜测,可能在触发事件时,angular不在控制范围内,因此这个实际上是未定义的。您需要将这个关键字的含义添加到onDrop()事件处理程序中。如果没有它,语句this.methods()实际上是指事件处理程序中的methods()函数。试试下面的方法 交互('.dropzone').d
这个关键字的含义添加到onDrop()
事件处理程序中。如果没有它,语句this.methods()
实际上是指事件处理程序中的methods()
函数。试试下面的方法
交互('.dropzone').dropzone({
重叠:0.75,
接受:'.plugins',
ondrop:this.ondrop.bind(this),//在this.methods();
this没有方法methods()
Hi-aRvi,methods()是在类中定义的,两个interact()方法都是在ngOnInit()中定义的,看起来我过度修剪了代码。我将很快更新代码。
<div class="example-box drag-drop plugins">
Image
</div>
<div class="dropzone">
<h3 style="color:white;">Dropzone</h3>
</div>
interact('.dropzone').dropzone({
overlap: 0.75,
accept: '.plugins',
ondrop: this.onDrop,
})
interact('.drag-drop')
.draggable({
inertia: false,
autoScroll: true
})
}
methods() {
console.log("Inside methods()");
}
onDrop(event) {
event.preventDefault();
this.methods();
}