สล็อตและสล็อตแบบมีขอบเขต
ประกอบคอมโพเนนต์ที่ยืดหยุ่นด้วยสล็อตและสล็อตแบบมีขอบเขต
สล็อตและสล็อตแบบมีขอบเขต เป็นบทเรียน Vue Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Vue Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Vue Academy มีบทเรียนทั้งหมด 3 บทเรียน
สล็อตคืออะไร
สล็อต ช่วยให้คอมโพเนนต์แม่แทรกเนื้อหาลงในเทมเพลตของคอมโพเนนต์ลูกได้
- พร็อพส์ใช้ส่งข้อมูล ส่วนสล็อตใช้ส่งมาร์กอัป
- เหมาะสำหรับตัวครอบโครงร่าง การ์ด และหน้าต่างโมดัล
- คอมโพเนนต์ลูกเป็นผู้กำหนดว่าเนื้อหาจะไปอยู่ที่ใด
สล็อตเริ่มต้น
คอมโพเนนต์ลูกกำหนดพื้นที่สำรองด้วยองค์ประกอบ slot สิ่งที่คอมโพเนนต์แม่นำไปใส่ระหว่างแท็กจะมาเติมในพื้นที่นี้
<!-- Card.vue (child) -->
<template>
<div class="card">
<slot></slot>
</div>
</template>การใช้สล็อตเริ่มต้น
คอมโพเนนต์แม่ส่งเนื้อหาไว้ระหว่างแท็กของคอมโพเนนต์
<!-- Parent -->
<Card>
<h2>Title</h2>
<p>Any content goes here.</p>
</Card>
<!-- It renders inside the card div -->เนื้อหาสำรองของสล็อต
สล็อตสามารถกำหนดเนื้อหาสำรองที่จะแสดงเมื่อคอมโพเนนต์แม่ไม่ได้ส่งเนื้อหาใดมา
<!-- Button.vue -->
<template>
<button>
<slot>Click me</slot>
</button>
</template>
<!-- <Button /> shows "Click me";
<Button>Save</Button> shows "Save" -->สล็อตที่มีชื่อหลายช่อง
สล็อตที่มีชื่อ ช่วยให้คอมโพเนนต์เปิดจุดแทรกเนื้อหาได้หลายจุด
<!-- Layout.vue -->
<template>
<header><slot name="header"></slot></header>
<main><slot></slot></main>
<footer><slot name="footer"></slot></footer>
</template>การเติมข้อมูลในสล็อตที่มีชื่อ
คอมโพเนนต์แม่ระบุสล็อตที่มีชื่อด้วย v-slot:name บนแท็กเทมเพลต
<Layout>
<template v-slot:header>
<h1>Site Title</h1>
</template>
<p>Main content (default slot)</p>
<template v-slot:footer>
<small>Copyright 2024</small>
</template>
</Layout>รูปแบบย่อของ v-slot
v-slot มีรูปแบบย่อคือสัญลักษณ์ #
<Layout>
<template #header>
<h1>Title</h1>
</template>
<template #footer>
<small>Footer</small>
</template>
</Layout>สล็อตแบบมีขอบเขต
สล็อตแบบมีขอบเขต ช่วยให้คอมโพเนนต์ลูกส่งข้อมูลขึ้นไปยังเนื้อหาของสล็อตได้
- คอมโพเนนต์ลูกผูกข้อมูลไว้กับองค์ประกอบสล็อต
- คอมโพเนนต์แม่รับข้อมูลนั้นเป็น slot props
- มีประโยชน์เมื่อคอมโพเนนต์ลูกควบคุมข้อมูล แต่คอมโพเนนต์แม่ควบคุมรูปลักษณ์
การเปิดเผยข้อมูลจากคอมโพเนนต์ลูก
คอมโพเนนต์ลูกผูกแอตทริบิวต์ไว้กับสล็อตเพื่อแบ่งปันข้อมูล
<!-- UserList.vue -->
<template>
<li v-for="user in users" :key="user.id">
<slot :user="user"></slot>
</li>
</template>การใช้ข้อมูลจากสล็อตแบบมีขอบเขต
คอมโพเนนต์แม่รับข้อมูลผ่าน v-slot
<UserList>
<template #default="slotProps">
{{ slotProps.user.name }}
</template>
</UserList>
<!-- or destructure: #default="{ user }" -->ควรใช้สล็อตแต่ละแบบเมื่อใด
คู่มือฉบับย่อ
- สล็อตเริ่มต้น สำหรับการแทรกเนื้อหาแบบง่าย
- สล็อตที่มีชื่อ สำหรับหลายพื้นที่ เช่น โครงร่าง
- สล็อตแบบมีขอบเขต เมื่อคอมโพเนนต์แม่ต้องใช้ข้อมูลภายในของคอมโพเนนต์ลูก
ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจของคุณเกี่ยวกับสล็อต
ทบทวน: สล็อต
คุณได้เรียนรู้การกระจายเนื้อหาด้วยสล็อต
- สล็อตเริ่มต้น แทรกมาร์กอัปจากคอมโพเนนต์แม่
- เนื้อหาสำรองจะแสดงเมื่อไม่มีการส่งเนื้อหาใดมา
- สล็อตที่มีชื่อ (v-slot:name และรูปแบบย่อ #) ใช้ระบุพื้นที่ต่าง ๆ
- สล็อตแบบมีขอบเขต ส่งข้อมูลจากคอมโพเนนต์ลูกขึ้นไปยังเนื้อหาของสล็อต
ถัดไป: พื้นฐานการทำงานแบบรีแอกทีฟ
คำถามที่พบบ่อย
บทเรียน “สล็อตและสล็อตแบบมีขอบเขต” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “สล็อตและสล็อตแบบมีขอบเขต” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Vue Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Vue Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “สล็อตและสล็อตแบบมีขอบเขต”
ประกอบคอมโพเนนต์ที่ยืดหยุ่นด้วยสล็อตและสล็อตแบบมีขอบเขต คุณปฏิบัติ Vue Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Vue Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Vue Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน
บทเรียน “สล็อตและสล็อตแบบมีขอบเขต” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Vue Academy นี้ได้ไหม
ได้ บทเรียน Vue Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การสร้างและลงทะเบียนคอมโพเนนต์
- Props และเหตุการณ์แบบกำหนดเอง
- สล็อตและสล็อตแบบมีขอบเขต