使用vue,我尝试在点击中触发多个事件并传递“事件”#39;变量,以便我可以使用event.target
。
我试过了:
<element @click="onSubmit(), onChange()"></element>
在我的方法中,我尝试了
methods: {
onSubmit(e) {
console.log(e)
},
onChange(e) {
console.log(e)
}
}
无法阅读财产&#39;目标&#39;未定义的
实现这一目标的正确方法是什么?
答案 0 :(得分:1)
在您的模板中
<element @click="onClick"></element>
在方法中
methods: {
onSubmit(e) {
console.log(e)
},
onChange(e) {
console.log(e)
},
onClick(e){
this.onSubmit(e)
this.onChange(e)
}
}
如果没有提供参数,event
始终是事件处理程序的第一个参数。或者,您可以在模板中使用$event
来引用当前事件。
<element @click="onClick($event)"></element>
我想还应该注意event
是一个全局变量,无需传递即可在两个被调用的函数中访问。
methods: {
onSubmit() {
console.log(event.target) // will log the element that was clicked
},
onChange() {
console.log(event.target) // will log the element that was clicked
},
onClick(){
this.onSubmit()
this.onChange()
}
}