老师,关于 event 的问题请教一下。
来源:3-4 vue基本知识点串讲-part2
ButcherV
2022-01-20
<button @click="increment1">+1</button>
<button @click="increment2($event)">+2</button>
<button @click="increment3(3, $event)">+3</button>
<button @click="increment4(4)">+4</button>
increment1(event) {
// eslint-disable-next-line
console.log('event1', event, event.__proto__.constructor)
this.num++
},
increment2(event) {
// eslint-disable-next-line
console.log('event2 target', event.target)
},
increment3(val, event) {
// eslint-disable-next-line
console.log('event3 target', event.target)
this.num = this.num + val
},
increment4(val) {
// eslint-disable-next-line
console.log('event4 target', event.target)
this.num = this.num + val
},
请问下。
- 对比 increment1 和 increment2,调用时无论传参与否,为何都能访问到 event。
- 对比 increment3 和 increment4,传不传
$event
也都能访问到 event。$event
有什么用呢。
写回答
1回答
-
双越
2022-01-20
第一,如果 template 中直接调用函数,没有传递任何参数,vue 会默认传 event 过去。所以 increment1 有 event
第二,increment4 函数中,event 这个变量都没有被定义,语法上就是不对的,按理说应该会报错。你再确认一下。
032022-01-21
相似问题
关于大厂面试
回答 3
又一份关于ajax请求时机问题
回答 3