ข้ามไปยังเนื้อหา

รูปแบบและการประกอบ

การประกอบ (Composition) หมายถึงการสร้างคัสตอมเอลิเมนต์ขนาดใหญ่ที่มีความสามารถมากขึ้น โดยการประกอบคัสตอมเอลิเมนต์ขนาดเล็กที่มีหน้าที่เฉพาะเข้าด้วยกัน แทนที่จะเขียนเอลิเมนต์ขนาดใหญ่ชิ้นเดียวที่ทำทุกอย่าง คุณแบ่งงานออกเป็นส่วนย่อย — แต่ละส่วนเป็นคัสตอมเอลิเมนต์ของตัวเอง — แล้วนำมาซ้อนกันเพื่อสร้างวิดเจ็ตที่สมบูรณ์

แนวคิดนี้สะท้อนวิธีที่ HTML ดั้งเดิมทำงานอยู่แล้ว: <form> บรรจุ <input>, <label>, และ <button> ซึ่งแต่ละตัวรับผิดชอบส่วนเล็ก ๆ ของประสบการณ์โดยรวม Web Components ช่วยให้คุณสร้างโครงสร้างแบบเป็นชั้นที่นำกลับมาใช้ได้เช่นเดียวกันด้วยชื่อแท็กของคุณเอง

แผนภาพด้านล่างแสดงเอลิเมนต์ <card-widget> ที่ประกอบจากสองเอลิเมนต์ภายใน ได้แก่ <user-avatar> และ <action-button>

flowchart LR
  CW["card-widget"]
  UA["user-avatar"]
  AB["action-button"]
  CW --> UA
  CW --> AB
A composed widget tree
บทเรียนSlugสิ่งที่คุณจะได้เรียนรู้
การประกอบคอมโพเนนต์compositionการซ้อนเอลิเมนต์, การสื่อสารผ่าน attribute, และ CustomEvent bubbling
ฟอร์ม-แอสโซซิเอทเทดเอลิเมนต์form-associatedการทำให้คัสตอมเอลิเมนต์มีส่วนร่วมในฟอร์ม HTML ดั้งเดิม
รูปแบบการเข้าถึงaccessibilityARIA roles, การนำทางด้วยคีย์บอร์ด, และการจัดการ focus
Declarative Shadow DOMdeclarative-shadow-domshadow roots ที่เรนเดอร์ฝั่งเซิร์ฟเวอร์ด้วย attribute shadowrootmode

ตัวอย่างด้านล่างกำหนดคัสตอมเอลิเมนต์สองตัว: <name-tag> แสดงข้อความตัวหนาจาก attribute name และ <greeting-card> สร้าง <name-tag> และเพิ่มข้อความต้อนรับ — ประกอบสองเอลิเมนต์เข้าเป็นวิดเจ็ตเดียว

"การประกอบ" ใน Web Components หมายความว่าอะไร?
lifecycle callback ใดที่เหมาะสมในการ append child custom elements?
ในโมดูลนี้ บทเรียนใดครอบคลุมการมีส่วนร่วมในฟอร์ม HTML ดั้งเดิม?