Change detection là cách Angular giữ DOM đồng bộ với dữ liệu component — sau bất kỳ sự kiện nào có khả năng thay đổi state, nó kiểm tra các component và cập nhật view nơi dữ liệu thay đổi. Theo mặc định việc kiểm tra này rộng; OnPush thu hẹp nó lại để tăng hiệu năng.
Change detection mặc định hoạt động như thế nào
Một sự kiện async kích hoạt (click, response HTTP, setTimeout) →
Zone.js thông báo cho Angular → Angular kiểm tra TOÀN BỘ cây component
từ trên xuống dưới → cập nhật mọi binding có giá trị thay đổi.
Theo mặc định (chiến lược ), Angular kiểm tra lại trong mỗi sự kiện — đúng đắn, nhưng có thể lãng phí trong các cây lớn.
