在原生事件中,$event是事件对象
在自定义事件中,$event是传递过来的数据
注意两点
1.不使用圆括号,event被自动当作实参传入
2.使用圆括号,必须显式的传入event对象,如果不传入可能最终找到的是全局的window .event
有时也需要在内联语句处理器中访问原始的 DOM 事件。可以用特殊变量 $event 把它传入方法:
<tempalte>
<button @click = “getEvent($event)”>点击</button>
</template>
<script>
export default {
methods:{
getEvent(e) {
console.log(e)
// e.target 是你当前点击的元素
// e.currentTarget 是你绑定事件的元素
#获得点击元素的前一个元素
e.currentTarget.previousElementSibling.innerHTML
#获得点击元素的第一个子元素
e.currentTarget.firstElementChild
# 获得点击元素的下一个元素
e.currentTarget.nextElementSibling
# 获得点击元素中id为string的元素
e.currentTarget.getElementById("string")
# 获得点击元素的string属性
e.currentTarget.getAttributeNode('string')
# 获得点击元素的父级元素
e.currentTarget.parentElement
# 获得点击元素的前一个元素的第一个子元素的HTML值
e.currentTarget.previousElementSibling.firstElementChild.innerHTML
},
}
}
</script>
自定义事件
监听$on(eventName)
触发$emit(eventName)