Angular에서 얘기하는 dirty checking이란 무엇인가?
Angular 1.x 버전에서는 해당 scope에 존재하는 모델이 변경되었는지 $watch list에 등록된 모델들을 순회하며 확인시커주는 digest loop라는 것이 존재합니다.
이렇게 digest loop가 계속 수행되면서 해당 스코프에 변경된 모델이 있는지 체크한다는 의미는, 유지되어야하는 값이 아닌 더럽혀진 값이 있는지를 체크한다는 의미와 같다고 볼 수 있을것입니다.
만약, 변경해야할(더럽혀진)값이 digest loop과정에서 검출되었다면, $watch에 연결된 DOM과 scope사이의 값을 같게 만들어 주게 될 것입니다.
이러한 과정을 통해 angular의 digest loop가 평화롭지 않게 되었기에, 이를 dirty checking이라고 부르게 되었음을 미루어 짐작할 수 있을 것 같습니다!
최근 댓글