Dark mode
Listening to Events
การฟังเหตุการณ์ใน Vue ใช้ v-on
หรือ @
Inline Handlers
การเขียน event handler แบบ inline
vue
<button @click="alert('Hello')">Click</button>
Method Handlers
การเรียกใช้ methods เมื่อเกิดเหตุการณ์
vue
<script setup>
const handleClick = () => {
// ทำงานเมื่อคลิก
};
</script>
<template>
<button @click="handleClick">Click</button>
</template>
Event Handling Patterns
รูปแบบต่างๆ ในการจัดการเหตุการณ์
Calling Methods with Arguments
การส่ง arguments ให้ method จาก inline handler
vue
<script setup>
const say = (message) => {
alert(message);
};
</script>
<template>
<button @click="say('hello')">Say Hello</button>
</template>
Accessing Event Object
การเข้าถึง event object
vue
<script setup>
const warn = (message, event) => {
if (event) {
event.preventDefault();
}
alert(message);
};
</script>
<template>
<button @click="warn('Form cannot be submitted.', $event)">
Submit
</button>
</template>
Event Modifiers
ตัวปรับแต่งเหตุการณ์ช่วยจัดการพฤติกรรมมาตรฐานของ DOM events
vue
<form @submit.prevent="onSubmit">...</form>
Common Modifiers
Modifier | ตัวอย่าง | การใช้งาน |
---|---|---|
.prevent | @submit.prevent | ยกเลิกการทำงานเริ่มต้นของ event |
.stop | @click.stop | หยุดการแพร่กระจาย event |
.once | @click.once | ทำงานเพียงครั้งเดียว |
.self | @click.self | ทำงานเฉพาะเมื่อเกิดบน element นั้นจริงๆ |
Key Modifiers
สำหรับ keyboard events สามารถระบุปุ่มเฉพาะได้
vue
<input @keyup.enter="submit" />
Mouse Button Modifiers
ระบุการทำงานสำหรับปุ่มเมาส์เฉพาะ
vue
<button @click.middle="zoomIn">Zoom</button>
<div @click.right="showContextMenu">
Right-click me
</div>
System Modifiers
ตัวปรับแต่งสำหรับปุ่มพิเศษ
vue
<button @click.ctrl="doSomething">Click</button>
<input @keyup.shift.enter="submit" />