כי אנגולר (גרסא 1) לא עובד על ה DOM לזהות שינויים.הבעיה מתחילה, כמו שאמרת, כאשר יש קומפוננטות של אנגולר על האלמנטים האלה (כמו directives) ואז בעצם אתה רוצה סנכרון של הדירקטייב עם ה scope הרלוונטי. לדוגמא:
ng-show="booleanFromScope" |
אתה בעצם צריך לחבר את האלמנט שלך לscope מסויים וזה קורה עם קומפליציה ולינקינג:
פונקציית הcompile מחזיקה פונקציית לינקינג שאותה מפעילים על הסקופ הספציפי.
לאחר שחיברת את האלמנט הוא נחשב לאלמנט מן המניין ובפעם הבאה שאנגולר יחפש שינויים (digest), הוא יהיה ברשימת ה watchers במידה ולאלמנט הזה יש watcher - במקרה שלנו ה ng-show הוא זה שיוצר watcher.