Change Detection פירושו עדכון ה-DOM בכל פעם שהנתונים משתנים. Angular מספקת שתי אסטרטגיות לזיהוי שינויים. באסטרטגיית ברירת המחדל שלה, בכל פעם שישנה מוטציה או שינוי של נתונים, Angular תפעיל את גלאי השינויים כדי לעדכן את ה-DOM.
איך Angular מזהה זיהוי שינויים?
כדי להפעיל את גלאי השינוי באופן ידני:
- הכנס שירות ChangeDetectorRef ברכיב.
- השתמש ב-markForCheck בשיטת המנוי כדי להורות ל-Angular לבדוק את הרכיב בפעם הבאה שגלאי שינוי יפעלו.
- על הוק של מחזור החיים של ngOnDestroy, בטל את המנוי מהאפשרות לצפייה.
מהו מחזור זיהוי השינוי ב-Angular?
במהלך זיהוי השינוי Angular פועל על פני הכריכות, מעריך ביטויים, משווה אותם לערכים הקודמים ומעדכן את ה-DOM במידת הצורך. לאחר כל מחזור זיהוי שינויים, Angular מבצעת בדיקה כדי לוודא שמצב הרכיב מסונכרן עם ממשק המשתמש.
מהו זיהוי שינוי Angular onPush?
אסטרטגיית OnPush משנה את התנהגות זיהוי השינויים של Angular באופן דומה לזה של ניתוק רכיב. זיהוי השינויים אינו פועל אוטומטית יותר עבור כל רכיב. Angular במקום מאזין לשינויים ספציפיים ומפעיל את זיהוי השינויים רק על תת-עץ עבור אותו רכיב.
מהי אסטרטגיית זיהוי שינוי?
המנגנון הבסיסי של זיהוי השינוי הוא toבצע בדיקות מול שני מצבים, האחד הוא המצב הנוכחי, והשני הוא המצב החדש. אם אחד מהמצבים האלה שונה מהשני, אז משהו השתנה, כלומר אנחנו צריכים לעדכן (או לעבד מחדש) את התצוגה.