$event

469 阅读1分钟

原生dom事件对象

  • 调用方法时没有括号,$event被当作实参自动传入
    <input :value='text' @input='handleInput'>
    
    methods: {
        handleInput(event){
            this.text = event.target.value
        }
    }
    <input :value='text' @input='text=$event.target.value'>
    语法糖:<input v-model='text'>
  • 调用方法时有括号,手动传入
    <input :value='text' @input='handleInput(1,2,$event)'>
    
    methods: {
        handleInput(p1, p2, $event){
            this.text = $event.target.value
        }
    }

自定义事件组件$emit的第一个参数

Vue.component('custom-input',{
    props: ['value'],
    template: `<input :value='value' @input="$emit('input', $event.target.value)">`
})

<custom-input :value='text' @inpupt='text=$event'></custom-input>
语法糖:<custom-input v-model='text'/>