เมื่อตรวจจับการเปลี่ยนแปลงเชิงมุม?

สารบัญ:

เมื่อตรวจจับการเปลี่ยนแปลงเชิงมุม?
เมื่อตรวจจับการเปลี่ยนแปลงเชิงมุม?
Anonim

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

Angular ตรวจจับการตรวจจับการเปลี่ยนแปลงอย่างไร

ในการเรียกใช้ตัวตรวจจับการเปลี่ยนแปลงด้วยตนเอง:

  1. บริการฉีด ChangeDetectorRef ในส่วนประกอบ
  2. ใช้ markForCheck ในวิธีการสมัครรับข้อมูลเพื่อสั่งให้ Angular ตรวจสอบส่วนประกอบในครั้งถัดไปที่ตัวตรวจจับการเปลี่ยนแปลงทำงาน
  3. บนเบ็ดวงจรชีวิต ngOnDestroy ยกเลิกการสมัครจากสิ่งที่สังเกตได้

รอบการตรวจจับการเปลี่ยนแปลงใน Angular คืออะไร

ระหว่างการตรวจจับการเปลี่ยนแปลง Angular ทำงาน เหนือการเชื่อมโยง ประเมินนิพจน์ เปรียบเทียบกับค่าก่อนหน้า และอัปเดต DOM หากจำเป็น หลังจากรอบการตรวจจับการเปลี่ยนแปลงแต่ละครั้ง Angular จะทำการตรวจสอบเพื่อให้แน่ใจว่าสถานะส่วนประกอบซิงค์กับอินเทอร์เฟซผู้ใช้

การตรวจจับการเปลี่ยนแปลง Angular onPush คืออะไร

กลยุทธ์ OnPush จะเปลี่ยนพฤติกรรมการตรวจจับการเปลี่ยนแปลงของ Angular ในลักษณะเดียวกับการถอดส่วนประกอบ การตรวจจับการเปลี่ยนแปลงจะไม่ทำงานโดยอัตโนมัติสำหรับทุกองค์ประกอบอีกต่อไป เชิงมุมแทน ฟังการเปลี่ยนแปลงเฉพาะ และเรียกใช้การตรวจหาการเปลี่ยนแปลงบนทรีย่อยสำหรับส่วนประกอบนั้นเท่านั้น

กลยุทธ์การตรวจจับการเปลี่ยนแปลงคืออะไร

กลไกพื้นฐานของการตรวจจับการเปลี่ยนแปลงคือ toดำเนินการตรวจสอบกับสองสถานะ หนึ่งคือสถานะปัจจุบัน อีกสถานะหนึ่งคือสถานะใหม่ หากสถานะใดสถานะหนึ่งแตกต่างจากอีกสถานะหนึ่ง แสดงว่ามีบางอย่างเปลี่ยนไป หมายความว่าเราต้องอัปเดต (หรือแสดงผลใหม่) มุมมอง