1. Component คืออะไร?
Component เป็นส่วนประกอบสำคัญใน Vue.js ที่ช่วยให้การพัฒนา UI มีความยืดหยุ่นและสามารถนำกลับมาใช้ใหม่ได้ (Reusable). ทุก Component ใน Vue.js จะถูกกำหนดเป็นส่วนย่อย ๆ ของหน้าจอ เช่น ปุ่ม, แบบฟอร์ม, หรือส่วนแสดงผลข้อมูล
2. การสร้าง Component เบื้องต้น
ขั้นตอน:
- สร้างไฟล์ Component ใหม่
- สร้างไฟล์ใหม่ในโฟลเดอร์
src/components/
เช่นMyComponent.vue
- เขียนโค้ดสำหรับ Component
- ตัวอย่างโค้ดใน
MyComponent.vue
:
<template>
<div>
<h2>Welcome to My Component</h2>
<p>This is a reusable component.</p>
</div>
</template>
<script>
export default {
name: 'MyComponent'
};
</script>
<style>
div {
border: 1px solid #ccc;
padding: 20px;
margin: 10px 0;
}
</style>
- นำ Component ไปใช้งาน
- เปิดไฟล์
App.vue
และเพิ่มโค้ดดังนี้:
<template>
<div id="app">
<h1>Main App</h1>
<MyComponent />
</div>
</template>
<script>
import MyComponent from './components/MyComponent.vue';
export default {
name: 'App',
components: {
MyComponent
}
};
</script>
<style>
#app {
text-align: center;
margin-top: 50px;
}
</style>
- ตรวจสอบผลลัพธ์
- เรียกใช้งานเซิร์ฟเวอร์ด้วยคำสั่ง:
bash npm run serve
- เปิดเบราว์เซอร์และเข้าชมที่
http://localhost:8080
3. การใช้ Props เพื่อส่งข้อมูลไปยัง Component
Props คืออะไร?
Props (Properties) ใช้สำหรับส่งข้อมูลจาก Parent Component ไปยัง Child Component
ตัวอย่าง:
- ปรับปรุง Component ให้รองรับ Props
- แก้ไขไฟล์
MyComponent.vue
:
<template>
<div>
<h2>{{ title }}</h2>
<p>{{ description }}</p>
</div>
</template>
<script>
export default {
name: 'MyComponent',
props: {
title: {
type: String,
required: true
},
description: {
type: String,
default: 'This is a default description.'
}
}
};
</script>
<style>
div {
border: 1px solid #ccc;
padding: 20px;
margin: 10px 0;
}
</style>
- ส่งค่า Props จาก Parent Component
- แก้ไขไฟล์
App.vue
:
<template>
<div id="app">
<h1>Main App</h1>
<MyComponent title="Hello Vue!" description="This is a reusable component with Props." />
<MyComponent title="Another Component" />
</div>
</template>
<script>
import MyComponent from './components/MyComponent.vue';
export default {
name: 'App',
components: {
MyComponent
}
};
</script>
4. การตรวจสอบ Props ใน DevTools
- เปิด Vue DevTools ในเบราว์เซอร์
- คลิกเลือก Component ที่ต้องการ
- ตรวจสอบค่าที่ถูกส่งผ่าน Props
5. สรุป
ในบทนี้ คุณได้เรียนรู้เกี่ยวกับ:
- ความหมายของ Component ใน Vue.js
- วิธีการสร้าง Component เบื้องต้น
- การใช้ Props เพื่อส่งข้อมูลระหว่าง Component
ในบทถัดไป เราจะศึกษาเกี่ยวกับการใช้ Template ใน Vue.js เพื่อสร้างโครงสร้างที่ยืดหยุ่นมากขึ้น!