0Pricing
Angular Academy · บทเรียน

พื้นฐานแอนิเมชัน: trigger และ state

กำหนดสถานะและทริกเกอร์ของแอนิเมชัน

พื้นฐานแอนิเมชัน: trigger และ state เป็นบทเรียน Angular Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Angular Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Angular Academy มีบทเรียนทั้งหมด 4 บทเรียน

ภาพเคลื่อนไหวของ Angular

ระบบภาพเคลื่อนไหวของ Angular คือ DSL แบบประกาศที่สร้างบน Web Animations API คุณอธิบายสถานะและการเปลี่ยนผ่าน แล้ว Angular จะจัดการเวลาและการอัปเดต DOM ให้

การตั้งค่า

ระบุภาพเคลื่อนไหวในการตั้งค่าการเริ่มต้นแอป เพื่อเปิดใช้กลไกภาพเคลื่อนไหว

bootstrapApplication(AppComponent, {
  providers: [provideAnimationsAsync()]
});

ทริกเกอร์

trigger ใช้ตั้งชื่อภาพเคลื่อนไหวและจัดกลุ่มสถานะกับการเปลี่ยนผ่านของภาพเคลื่อนไหว คุณผูกทริกเกอร์เข้ากับองค์ประกอบผ่านการผูกค่า

animations: [
  trigger('openClose', [
    // states and transitions
  ])
]

การกำหนดสถานะ

state ผูกสถานะที่มีชื่อเข้ากับชุดรูปแบบ CSS ที่องค์ประกอบควรมีขณะอยู่ในสถานะนั้น

state('open', style({ height: '200px', opacity: 1 })),
state('closed', style({ height: '0px', opacity: 0 }))

ฟังก์ชัน style

style รับออบเจ็กต์คุณสมบัติ CSS ให้ใช้คีย์แบบ camelCase หรือชื่อ CSS ที่ใส่เครื่องหมายอัญประกาศ

style({ backgroundColor: '#1976d2', transform: 'scale(1)' })

การผูกทริกเกอร์

ในแม่แบบ ให้ผูก @triggerName เข้ากับนิพจน์ที่ส่งคืนสถานะปัจจุบัน

<div [@openClose]="isOpen ? 'open' : 'closed'">
  Content
</div>

ทริกเกอร์ฉบับสมบูรณ์

นี่คือตัวอย่างทริกเกอร์ที่มีสองสถานะและการเปลี่ยนผ่านระหว่างสถานะเหล่านั้น

trigger('openClose', [
  state('open', style({ height: '200px' })),
  state('closed', style({ height: '0px' })),
  transition('open <=> closed', animate('300ms ease'))
])

การควบคุมสถานะจากคอมโพเนนต์

คอมโพเนนต์เพียงสลับค่าบูลีนหรือสตริง จากนั้น Angular จะเชื่อมรูปแบบของสถานะที่ตรงกันให้ต่อเนื่องกัน

isOpen = signal(true);
toggle() { this.isOpen.update(v => !v); }

สถานะไวลด์การ์ด

ไวลด์การ์ด * จับคู่กับสถานะใดก็ได้ เหมาะสำหรับค่าเริ่มต้นและภาพเคลื่อนไหวเมื่อเข้าและออกที่จะกล่าวถึงในภายหลัง

state('*', style({ opacity: 1 }))

สถานะ void

สถานะพิเศษ void แทนองค์ประกอบที่ไม่ได้อยู่ใน DOM และเป็นพื้นฐานของภาพเคลื่อนไหวเมื่อเข้าและออก

เหตุใดจึงใช้ภาพเคลื่อนไหวแบบประกาศ

ภาพเคลื่อนไหวแบบประกาศช่วยแยกตรรกะการจับเวลาออกจากคอมโพเนนต์ ทำงานร่วมกับวงจรชีวิตของ Angular และล้างข้อมูลโดยอัตโนมัติเมื่อองค์ประกอบออกจาก DOM

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความเข้าใจของคุณเกี่ยวกับพื้นฐานภาพเคลื่อนไหว

สรุปทบทวน

คุณได้เรียนรู้ว่าภาพเคลื่อนไหวของ Angular ใช้ trigger ที่ประกอบด้วยคำจำกัดความของ state ซึ่งแต่ละรายการจับคู่ชื่อกับ style และผูกในแม่แบบผ่าน [@trigger] สถานะ void และ * ใช้ครอบคลุมกรณีที่ไม่มีสถานะและสถานะใดก็ได้

คำถามที่พบบ่อย

บทเรียน “พื้นฐานแอนิเมชัน: trigger และ state” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “พื้นฐานแอนิเมชัน: trigger และ state” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Angular Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Angular Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐานแอนิเมชัน: trigger และ state”

กำหนดสถานะและทริกเกอร์ของแอนิเมชัน คุณปฏิบัติ Angular Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Angular Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Angular Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “พื้นฐานแอนิเมชัน: trigger และ state” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Angular Academy นี้ได้ไหม

ได้ บทเรียน Angular Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. พื้นฐานแอนิเมชัน: trigger และ state
  2. การเปลี่ยนผ่านและจังหวะเวลา
  3. แอนิเมชันตอนเข้าและออก
  4. คีย์เฟรมและการหน่วงลำดับ
← กลับไปที่ Angular Academy