methods选项用于定义事件处理函数,通过this访问响应式数据,模板中用@绑定事件并支持传参和修饰符,$event可获取原生事件对象。
Vue Options API 中的 methods 选项是定义事件处理函数最直接的方式,它让逻辑与模板绑定清晰、调用自然,适合中小型组件或习惯传统写法的开发者。
在 methods 对象中定义普通函数,函数内部通过 this 访问组件的响应式数据(如 data 返回的属性)、其他方法或生命周期钩子:
@click="increment")this 指向当前组件实例,能安全读写 data 中的响应式字段this 丢失问题使用 v-on(简写为 @)将 methods 中的方法绑定到 DOM 事件上:
@click="handleClick",点击时执行 handleClick 方法@input="onInput($event, 'custom')" ,第一个参数固定为原生事件对象,后续为自定义参数$event 不会自动注入;需要时必须显式写出Vue 提供的事件修饰符可避免在 methods 中手动调用 preventDefault() 或 stopPropagation():
@submit.prevent:阻止表单默认提交行为@click.stop:阻止事件冒泡@keyup.enter:仅在按下 Enter 键时触发@click.stop.prevent
当需要操作 DOM 元素或获取输入值时,常借助 $event:
@change="handleChange($event)"
handleChange(event) { console.log(event.target.value); }
@click="handleClick($event, 'delete', item.id)",对应方法签名 handleClick(e, action, id)