未定义Vue.js参考错误(event.target)

问题描述 投票:0回答:2

我有一个具有不同方法的vue组件,例如f.ex。 mouseMove

mouseMove: function(event) {
    console.log("Event is: " + event);
    element5 = event.target
    this.elementMove = element5
    if (element5.getAttribute('data') == 'day') {
        hourPreStart = parseInt(element5.getAttribute('value'))
        dayPreStart = parseInt(element5.parentElement.firstChild.getAttribute('day-value'));
        this.hourPreEnd = hourPreStart
        this.dayPreEnd = dayPreStart
    }
    console.log(this.hourPreStart, this.dayPreStart, this.hourPreEnd, this.dayPreEnd)
},

当我将鼠标悬停在一个字段上时,出现此错误:

enter image description here

由于定义了event,所以我不知道是什么问题。

Here's完整部分。有人可以帮我吗?

vue.js events error-handling mouse referenceerror
2个回答
1
投票

event5未定义(因为错误凝视)。您必须先定义event5才能使用它。使用此

mouseMove: function(event) {
    console.log("Event is: " + event);
    let element5 = event.target
    this.elementMove = element5
    if (element5.getAttribute('data') == 'day') {
        let hourPreStart = parseInt(element5.getAttribute('value'))
        let dayPreStart = parseInt(element5.parentElement.firstChild.getAttribute('day-value'));
        this.hourPreEnd = hourPreStart
        this.dayPreEnd = dayPreStart
    }
    console.log(this.hourPreStart, this.dayPreStart, this.hourPreEnd, this.dayPreEnd)
}

1
投票

您正在使用此代码:

<tbody @mousedown='mouseDown' @mouseup='mouseUp' @mousemove='mouseMove'>

但是您应该将$event添加到这样的处理程序中:

<tbody @mousemove='mouseMove($event)'>
© www.soinside.com 2019 - 2024. All rights reserved.